如何更改控制台上显示的对象名称?

时间:2016-07-29 06:27:58

标签: javascript arrays object

我真的想知道这是否可行?

圆圈对象由jQuery生成,并带有自定义名称。

请告知,我该如何命名这样的对象。非常感谢!!!

enter image description here

  

var obj = [{a:1,b:2}]

     

console.log(obj)

您能给我一个示例,您可以使用上面的对象将对象名称更改为“Foo”,并使用console.log

进行简单

1 个答案:

答案 0 :(得分:2)

您需要覆盖toString方法。

一个非常简短的例子:

console.log( ""+{toString:()=>'My Object'} );
// prints: My Object

如何?

只要在字符串值的上下文中要求有问题的对象,就会调用

toString。当您附加到字符串或使用toString()方法强制转换时会发生这种情况。

如果您有课程,可以将其作为原型:

function MyClass () { /*...*/ }
MyClass.prototype.toString =()=> 'Not MyClass';

是否在对象遍历中看到效果取决于何时或是否将调用toString。否则它可能是浏览器特定的。

使用浏览器/遍历视图

这适用于Chrome:

var x = {};
x.y = function(){};
console.log(new x.y); // prints: x.y {}

它依赖于创建函数的源代码。注意没有功能名称!如果我有,这就会发生:

var x = {};
x.y = function X (){};
console.log(new x.y); // prints: X {}