使用 webdev 工具控制台时,如果输入浏览器对象,则会返回控制台
> console
Console { }
> console+""
"[object Console]"
> console.log(console)
undefined
> Console { }
对于所有浏览器对象都以这种方式工作;
但是如果我用自己的对象执行此操作,则输出没有我的 objectName(MyObj),只有“对象”,如下所示:
> var MyObj=function(){}
undefined
> var instance = new MyObj();
undefined
> instance
Object { }
> instance+""
"[object Object]"
> console.log(instance);
undefined
Object { }
有没有办法使我的对象输出行为与浏览器对象相同?而且,有人可以解释我为什么吗?
您可以覆盖toString()
中的方法MyObj.prototype
:
MyObj.prototype.toString = function(){ return "[object MyObj]";}
Example
var MyObj = function(){};
MyObj.prototype.toString = function(){ return "[object MyObj]"; };
var instance = new MyObj();
console.log(instance + "");
// "[object MyObj]"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)