Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么是我自己的;toString();函数不';我的javascript不工作?_Javascript_Google Chrome_Printing_Tostring - Fatal编程技术网

为什么是我自己的;toString();函数不';我的javascript不工作?

为什么是我自己的;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

我在chrome调试控制台中尝试:

>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();  
  }