根据Bryan Braun的this article概述了在Javascript中编写函数的不同可能方式,Property Assignment是这样做的一种方法。他的例子是与此类似:使用属性赋值的多个函数可能吗?
var obj1 = {
SetName: function() {
obj1.name = "Programmer_Frank";
}
};
,这可以被称为例如:
obj1.SetName();
这正常工作。它给了我一个成员"name"
和值"Programmer_Frank"
的对象。
然而,当我尝试:
var obj1 = {
SetName: function() {
obj1.name = "Programmer_Frank";
}
SetAddress: function(theAddress) {
obj1.address = theAddress;
}
};
,你会引用这些功能,例如:
obj1.SetName();
obj1.SetAddress("P Sherman 42 Wallaby Way");
这给了我一个Uncaught SyntaxError: Unexpected identifier
在开发者在Chrome调试器就行了SetAddress: function(theAddress) {
。 这是为什么? 2个功能的属性赋值是不可能的?这里是我的完整代码,它只是一个测试应用程序,所以它并不比我迄今为止发布的内容多得多,但是也许它将发布完整的代码仍然有用。
<html>
<head>
<script>
var obj1 = {
SetName: function() {
obj1.name = "Programmer_Frank";
}
SetAddress: function(theAddress) {
obj1.address = theAddress;
}
};
</script>
</head>
<body>
<script>
obj1.SetName();
obj1.SetAddress("P Sherman 42 Wallaby Way");
</script>
</body>
</html>
错误消息“未捕获的SyntaxError:意外的标识”后缺少一个逗号约为知识性为一体才有希望。各种棉绒都会产生类似的信息。你可以盯着'setAddress'并试图推论为什么你会得到一个意想不到的标识符,并且最终可能会发现它是缺少的逗号。你也可以使用分而治之的方法:首先删除'SetAddress'的主体,然后将其更改为'SetAddress:42',然后将其更改为'x:42',并且最终可能会在你已经离开出逗号。 – 2016-05-12 18:58:19