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

What is the difference between declaring variables with square braces and curly braces in AngularJs?

本文关键字:变量 声明 什么 区别 方括号 AngularJs      更新时间:2023-09-26

AngularJs中用方括号和花括号声明变量有什么区别?示例:$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//这是我们在角度中声明范围内变量的方式

所有

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

{}用于定义object。CCD_ 9用于CCD_。

$scope.variable = [] //array
$scope.variable = {} //object 

如果您像上面那样定义,它将是空数组或空对象。

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

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

因此,当您编写:var myVariable = anotherVariable时,您将anotherVariable的值分配给左侧的变量,而运算符

在javascript中,[]表示索引数组,{}表示关联数组

因此,正如javascript所做的那样,当您使用大括号进行分配时,您将向变量($scope….)分配一个Association数组,反之亦然,使用square bracket分配一个索引数组。角度没有任何区别!

在AngularJS中,模型(在您的案例中为$scope)是一个普通的旧Java脚本对象,因此与VanillaJS没有区别