如果我们使用:operator在函数内定义属性会发生什么?

时间:2016-04-13 01:02:31

标签: javascript

在下面的代码中,我向函数obj1添加了一个新属性。但是,当我打印obj1.name的值时,它什么也没有显示,只是空白!

好吧,如果我正在做的事情是错的,那么JavaScript引擎必须抱怨,但事实并非如此。那么这里发生了什么?

var obj1 = function (){
    name:"john";
};


console.log(obj1.name);// prints nothing!

1 个答案:

答案 0 :(得分:1)

此处的

name:令牌被解析为标签。

所以这是一个语法上有效的脚本:

  1. 声明一个标签
  2. 评估字符串表达式
  3. 因此,obj1.name仍未定义,因为您尚未在任何地方设置其属性。

    参考文献: