显示“未定义”的 JS 警报
JS Alert showing 'undefined'
你好,
我昨晚刚从 C#/C++ 迁移到 JavaScript,我很喜欢它!
我刚刚遇到了一些我不理解的行为,想知道是否有人可以对此有所了解?
当我调用此脚本时,我得到显示"5.5"的预期警报框,但是在该框关闭后,我收到另一个警报,仅显示"未定义",任何人都可以对此有所了解吗?
代码如下:
var myObj = {
age : 5,
weight : 5.5,
toString : function(){
alert(this.weight);
}
}
alert(myObj.toString());
非常感谢
你的代码调用alert()
两次。
第一个警报是显示this.weight
的警报。但是,第二个显示从myObj.toString()
函数返回的任何值,并且由于您在没有显式返回值的情况下对该函数进行了编码,因此默认情况下返回undefined
。
通常,.toString()
函数实际上会返回一个字符串,因此您应该这样做:
toString : function(){
return this.weight.toString();
}
然后,您只会收到一个警报,如下所示:http://jsfiddle.net/eph7x/
事实上,您可以简单地使用:
alert(myObj);
。因为您的自定义.toString()
将自动调用。
相关文章:
- 要求未定义JS回调参数
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- 无法读取属性'材料'未定义的Three.js
- renderReact/Rect Router+Node/Express.js的服务器端/同构渲染中未定义renderP
- 如何解决'窗口未定义'终端上的节点JS出错
- 在js中访问元素时不透明度和样式未定义,但在css中定义
- 为什么这个JS代码打印未定义
- Node.js错误“;ReferenceError:全局未定义“;在从0.10.2更新到0.12.2之后
- Node.js引用错误:未定义类名
- '会话'未定义-会话存储的Este JS/Express/Redis
- 谷歌地图infowindow错误f=未定义的infowindow.js
- simpleCart js缩略图未定义
- Node.js/Express未输出console.log,highcharts.js给出未定义的错误
- "TypeError:t.start未定义”;,在fullcalendar.min.js中,同时在我的网站上使
- Meteor js-控制台显示'未定义'即使返回结果
- 无法设置属性'name'的未定义JS
- 全局变量表示未定义 - JS
- 函数未定义js
- AWS Cognito未认证登录错误(窗口未定义)[JS]