为什么是我自己的;toString();函数不';我的javascript不工作?
我在chrome调试控制台中尝试:为什么是我自己的;toString();函数不';我的javascript不工作?,javascript,google-chrome,printing,tostring,Javascript,Google Chrome,Printing,Tostring,我在chrome调试控制台中尝试: >function m(){function toString(){return "abc"}} undefined >new m().toString() "[object Object]" 我希望它能打印“abc”。为什么?您使用的不是自己的toString方法(这是m中的私有函数),而是来自 对于您自己的方法,您需要将toString方法分配给m的原型,如 m.prototype.toString = function () { retur
>function m(){function toString(){return "abc"}}
undefined
>new m().toString()
"[object Object]"
我希望它能打印“abc”。为什么?您使用的不是自己的
toString
方法(这是m
中的私有函数),而是来自
对于您自己的方法,您需要将toString
方法分配给m
的原型,如
m.prototype.toString = function () { return 'abc'; };
函数m(){}
m、 prototype.toString=函数(){return'abc';};
log((新的m.toString())代码>试试这个
函数m(){
this.toString=函数(){
返回“abc”;
}
}
var m1=新的m();
警报(m1.toString())代码>您的代码错误。您可以在此处尝试此代码并检查输出
用作构造函数的函数应返回一个对象。否则,返回值将被忽略,并返回一个对象。您需要了解局部变量和对象属性之间的区别。
console.log(m('abc'));
function m(a){
return a.toString();
}