Javascript对象编程和对象表示
场景 当我写下以下代码(演示)时,我正在玩弄一些Javascript对象编程:Javascript对象编程和对象表示,javascript,oop,methods,constructor,Javascript,Oop,Methods,Constructor,场景 当我写下以下代码(演示)时,我正在玩弄一些Javascript对象编程: var o={ "关键":一,, “价值”:1234, toString:function(){ var res=this.key+“;”+this.value; 返回res; } }; var p={ "关键":二,, “价值”:5678 }; 文件。编写(o); 文件。写(“”); 文件编写(p); 如您所见,使用toString()方法可以在不调用toString()方法的情况下显示o对象,而p对象显示为。。
var o={
"关键":一,,
“价值”:1234,
toString:function(){
var res=this.key+“;”+this.value;
返回res;
}
};
var p={
"关键":二,,
“价值”:5678
};
文件。编写(o);
文件。写(“”);
文件编写(p);
如您所见,使用toString()方法可以在不调用toString()方法的情况下显示o对象
,而p对象
显示为。。。作为什么
问题
toString
literal是对象表示的一种默认名称吗?或者别的什么[object object]
符号是什么意思toString不是一个文本,它是一个函数,是为所有对象定义的。记住函数在javascript中是“第一类”的
[object object]
是浏览器对对象的默认toString()的返回值
以下是Mozilla的优秀文档:
对象
定义它是一个对象(与数组或原语相反),第二个对象
定义它是object类型的对象。一些没有有意义的字符串表示的内置对象类型(例如DOM节点)返回其类型名而不是对象。当您希望自己的对象在传递给write时输出其类型名时,必须重写toString“[object object]”由默认的
toString
方法返回,该方法由object
派生的每个对象继承 JavaScript中的每个对象都有一个toString()
方法,当对象在字符串上下文中使用时,例如与document.write(o)
一起使用时,以及当您编写o+“另一个字符串”
时,都会隐式调用该方法
默认情况下,该方法返回'[object]'
,这不是很有用,但可以重写它以返回任何您喜欢的内容;例如,像Numeric
、String
或Date
这样的对象就是这样做的
toString文本是对象表示的一种默认名称吗?或者别的什么
它是对象的toString
属性上的函数
在Javascript中,当一个对象被强制转换为字符串时(例如,当在字符串连接中使用,或在alert()
或document.write()
)调用toString
方法(通过and)
通常,您会在自定义对象的原型上指定,并且所有内置类型都有一个(例如,Array.prototype.toString
,它将值与逗号连接)。您已经在对象文本中显式地设置了它
[对象]符号是什么意思
这是对象的默认
toString
实现的结果,即对于Object
的所有实例。指定Object.prototype.toString
返回[Object
+class+]
,普通对象的内部[[class]]为“Object”否,对于参考和关于“第一类”的备注,它与+1看起来没有什么不同!谢谢大家。你给了我推荐信和好评。我很久以前就开始使用Javascript了,在著名的框架让每个人都知道这种脚本语言的威力之前。现在我对ECMA-262的oop功能非常着迷:这是一种古老的优秀Javascript。
var o = {
"key":1,
"value": 1234,
toString: function(){
var res = this.key + ";" + this.value;
return res;
}
};
var p = {
"key":2,
"value": 5678
};
document.write(o);
document.write("</br>");
document.write(p);