Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在AngularJs中用方括号和花括号声明变量有什么区别?_Javascript_Angularjs - Fatal编程技术网

Javascript 在AngularJs中用方括号和花括号声明变量有什么区别?

Javascript 在AngularJs中用方括号和花括号声明变量有什么区别?,javascript,angularjs,Javascript,Angularjs,在AngularJs中用方括号和花括号声明变量有什么区别? 例子: $scope.options={}; $scope.options=[] 如果我像上面那样声明,将调用什么“选项”?它是空字符串还是空数组 此$scope.options={}声明一个对象。而这个$scope.options=[]声明一个数组。{}表示它是一个对象,[]表示它是一个数组。这在javascript中非常基本,没有什么神奇之处 $scope.options ={}; // declares an object $

在AngularJs中用方括号和花括号声明变量有什么区别? 例子: $scope.options={}; $scope.options=[]


如果我像上面那样声明,将调用什么“选项”?它是空字符串还是空数组

$scope.options={}声明一个对象。而这个
$scope.options=[]声明一个数组。

{}表示它是一个对象,[]表示它是一个数组。这在javascript中非常基本,没有什么神奇之处

 $scope.options ={}; // declares an object
 $scope.options = []; //declares an array
与普通JavaScript中的相同

var options = {};//declares an object   
var options = []; //declares an array
您的选项只是
$scope
的一个属性,它的类型取决于如何声明
{}
[]
$scope.yourVariable
//这就是我们在angular中声明作用域内变量的方式


所有的

{}
都是用来定义
对象
[]
用于
数组

$scope.variable = [] //array
$scope.variable = {} //object 
如果您像上面那样定义,它将是空数组或空对象。

您应该假设AngularJS构建在Javascript之上,因此,AngularJS不能做VanillaJS不能做的任何事情

=字符是javascript中的赋值运算符

因此,当您写入:
var myVariable=anotherVariable
时,您正在将
anotherVariable
的值分配给左侧的变量和操作符

因此,正如javascript所做的那样,当您使用花括号赋值时,您将关联数组赋值给变量($scope…),反之,使用方括号赋值时,您将分配一个索引数组。 角度没有任何区别

在AngularJS中,模型($scope在您的例子中)是一个变量,因此与VanillaJS没有区别。