为了账号安全,请及时绑定邮箱和手机立即绑定

js函数与对象的问题

js函数与对象的问题

ITMISS 2018-12-19 18:15:03
代码片段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;

  })

}

不是见到和{}就是对象声明,花括号也可以表示代码块

不是见到和{}就是对象声明,花括号也可以表示代码块

不是见到和{}就是对象声明,花括号也可以表示代码块


查看完整回答
反对 回复 2019-01-23
  • 1 回答
  • 0 关注
  • 436 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信