初学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"吗,为什么没有输出信息?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
因为后一份代码没有调用函数啊。只是声明了该函数
如果要调用函数: 函数名()
这样的话相当于你只是在rabbit的对象中定义了一个speak方法但并没有调用执行它。
这个方法写成function rabbit.speak(line)更直观一些,rabbit.speak是函数名,,后一份代码中没有调用该函数。