[英]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.