js函数与对象的问题

代码片段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)


ITMISS
浏览 437回答 1
1回答

回首忆惘然

片段2、3中的 add: 叫 label,是标记一个语句用的,基本不使用但是还是ES语法的一部分,功能是搭配 goto(js没有goto) 、break、continue 来用的,不搭配使用单纯用label标记一条语句并没有实际意义,但是 不要和键值对的冒号搞混了!!!不要和键值对的冒号搞混了!!!不要和键值对的冒号搞混了!!!不要和键值对的冒号搞混了!!!片段2、3的区别和有没有 function 无关!你加个括号就可以了!var myObject = function() {  add : (function(){    return 2 + 3;  })}不是见到和{}就是对象声明,花括号也可以表示代码块不是见到和{}就是对象声明,花括号也可以表示代码块不是见到和{}就是对象声明,花括号也可以表示代码块
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript