可以使用属性赋值的多个函数?

时间:2016-05-12 17:33:43

标签: javascript json javascript-objects

根据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>

1 个答案:

答案 0 :(得分:0)

您在第一个方法定义

后缺少逗号
var obj1 = {
  SetName: function() {
    obj1.name = "Programmer_Frank";
  }, //this comma
  SetAddress: function(theAddress) {
    obj1.address = theAddress;
  }
};