簡體   English   中英

為什么我自己的“ toString()”函數在我的javascript中不起作用?

[英]Why my own “toString()” function doesn't work in my javascript?

我在chrome調試控制台中嘗試過:

>function m(){function toString(){return "abc"}}
undefined
>new m().toString()
"[object Object]"

我希望它打印“ abc”。 為什么?

您不是在使用自己的toString方法(這是m內的私有函數),而是使用Object的一個方法。

對於您自己的方法,您需要將toString方法分配給m的原型,例如

m.prototype.toString = function () { return 'abc'; };

 function m() {} m.prototype.toString = function () { return 'abc'; }; console.log((new m).toString()); 

嘗試這個。

 function m() { this.toString = function() { return "abc"; } } var m1 = new m(); alert(m1.toString()); 

您的代碼是錯誤的。 您可以嘗試此代碼並在此處檢查輸出http://jsbin.com/luremulano/edit?html,js,控制台 ,輸出

  console.log(m('abc'));

  function m(a){
      return a.toString();  
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM