[英]What is the difference between two declarations of module in javascript?
[英]Difference between these two JavaScript Object declarations
谁能告诉我这样做之间的区别是什么:
$scope.pageModel = {};
$scope.pageModel.varA = false;
$scope.pageModel.varB = "";
$scope.pageModel.varC = "";
并这样做:
$scope.pageModel = {
varA = false,
varB = "",
varC = ""
};
如果执行第二个版本,我的应用程序将中断,但是如果我执行第一个版本,则不会中断。 当然,只有两种方法可以为模型声明相同的值? -有人能指出我正确的方向吗?
$scope.pageModel = {
varA: false,
varB: "",
varC: ""
};
(这是基本的Javascript语法,完全与Angular无关)
为了使第二个示例工作,您需要将其定义为不使用=的对象
app.controller('testCtr',
function testCtr($scope){
$scope.pageModel = {
varA : false,
varB : "",
varC : ""
};
});
现在可以使用了。 但是,这是基础知识,我建议阅读更多有关javascript的oop的示例,此处为:
var person = {
name: "Tarzan"
};
这是无效的:
var items = {
item1: 10,
item2: items.item1 + 10 // invalid
};
这是有效的:
var items = {};
items.item1 = 10;
items.item2 = items.item1 + 10; // valid
JavaScript对象表示法是
{
attribute_1: value_1,
attribute_2: value_2,
.
.
.
attribute_n: value_n
}
因此,您需要按以下方式声明pageModel:
$scope.pageModel = {
varA: false,
varB: "",
varC: ""
};
另外,通常认为使用对象表示法而不是声明空对象然后分配其属性来声明对象是一种好的样式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.