初学js对象,遇到的一个输出问题

新手上路,请多包涵

问题描述

var rabbit={};
rabbit.speak=function (line) {
    console.log('this rabbit says'+line);

};
rabbit.speak(" 'i love eat carrot'");

//输出结果为 this rabbit says 'i love eat carrot'

但是将 rabbit.speak(" 'i love eat carrot'");这行代码删去

var rabbit={};
rabbit.speak=function (line) {
    console.log('this rabbit says'+line);

};
//程序将不会输出任何信息




我的疑问

后一份代码不应该输出"this rabbit says"吗,为什么没有输出信息?

阅读 2.2k
3 个回答

这个方法写成function rabbit.speak(line)更直观一些,rabbit.speak是函数名,,后一份代码中没有调用该函数。

因为后一份代码没有调用函数啊。只是声明了该函数

如果要调用函数: 函数名()

这样的话相当于你只是在rabbit的对象中定义了一个speak方法但并没有调用执行它。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题