代码片段1:function test() { return 1 + 2;}在1的函数中,我只要在后续用test()就能调用这个函数代码片段2:var myObject = function() { add : function(){ return 2 + 3; }}在2中,我却不能用(函数名)myObject()去调用,这是为什么?(问题1)当我把2的代码稍微改变一下,就又能用myObject()调用。如下。var myObject = function() { add : { return 2 + 3; }}这是为什么?上面改变后的代码的术语叫什么?(问题2)
1 回答
回首忆惘然
TA贡献1847条经验 获得超11个赞
片段2、3中的 add: 叫 label,是标记一个语句用的,基本不使用但是还是ES语法的一部分,功能是搭配 goto(js没有goto) 、break、continue 来用的,不搭配使用单纯用label标记一条语句并没有实际意义,但是 不要和键值对的冒号搞混了!!!
不要和键值对的冒号搞混了!!!
不要和键值对的冒号搞混了!!!
不要和键值对的冒号搞混了!!!
片段2、3的区别和有没有 function 无关!你加个括号就可以了!
var myObject = function() {
add : (function(){
return 2 + 3;
})
}
不是见到和{}就是对象声明,花括号也可以表示代码块
不是见到和{}就是对象声明,花括号也可以表示代码块
不是见到和{}就是对象声明,花括号也可以表示代码块
添加回答
举报
0/150
提交
取消