为什么在angularjs中有两种方式可以访问json键?
下面是我的代码片段为什么在angularjs中有两种方式可以访问json键?,angularjs,Angularjs,下面是我的代码片段 <body ng-app='abc' ng-controller='MainCtrl as ctrl'> <div ng-repeat="note in ctrl.notes"> <span class="label"> {{note[1]}}</span> <span class="label"> {{note.label}}</span> <span class="stat
<body ng-app='abc' ng-controller='MainCtrl as ctrl'>
<div ng-repeat="note in ctrl.notes">
<span class="label"> {{note[1]}}</span>
<span class="label"> {{note.label}}</span>
<span class="status" ng-bind="note.done"></span>
</div>
</body>
我可以使用a.label
和a['label']
访问标签,我可以知道这两种方式的原因吗?第二个a['label']
就足够了,对吗
另外,如果您在我的notes对象中观察到,第一行的一个键是
[1]
,我可以使用html中的注释[1]
访问它,请告诉我这是怎么可能的?您可以通过a.label
和a['label]访问它
因为在Javascript中,可以通过两种方式获取对象属性:object.property
和object['property']
让obj={
属性:“OK”
}
控制台日志(对象属性);
log(obj['property'])
您可以通过a.label
和a['label']
获得访问权限,因为在Javascript中,您可以通过两种方式获得对象属性:object.property
和object['property']
让obj={
属性:“OK”
}
控制台日志(对象属性);
log(obj['property'])代码>更新:
参考来自
计算每个点或括号表达式需要时间。如果同一个属性被多次使用,那么访问该属性一次,然后将该值存储在局部变量中以供将来使用更为合理
以下示例在循环中多次使用bar。然而,为了避免重复计算相同的值而浪费时间,bar存储在局部变量中
var object = {
baz: {
foo: {
bar: 5
}
}
};
var bar = object.baz.foo.bar;
var count = 0;
for (var i = 0; i < 100000; i++) {
count += bar;
// better than count += object.baz.foo.bar;
}
更新:
参考来自
计算每个点或括号表达式需要时间。如果同一个属性被多次使用,那么访问该属性一次,然后将该值存储在局部变量中以供将来使用更为合理
以下示例在循环中多次使用bar。然而,为了避免重复计算相同的值而浪费时间,bar存储在局部变量中
var object = {
baz: {
foo: {
bar: 5
}
}
};
var bar = object.baz.foo.bar;
var count = 0;
for (var i = 0; i < 100000; i++) {
count += bar;
// better than count += object.baz.foo.bar;
}
根据这一点,点表示法和[]表示法的工作方式不同,但在角度js中,两者的工作方式似乎相同,因此不需要两者right@RajeshKumarTonukunoori,没错,但在这种情况下,用户只是尝试访问对象属性,没有循环,似乎没有任何区别,不是吗?根据这一点,点符号和[]符号的工作方式似乎不同,但在角度js中,两者的工作方式似乎相同,所以不需要两种right@RajeshKumarTonukunoori,没错,但在这种情况下,用户只是尝试访问对象属性,没有循环,似乎没有任何区别,不是吗?
表示法主要使用,而[]
表示法主要使用,
表示法主要使用,而[]
表示法主要使用