Pro*_*mer 7 javascript jquery json object stringify
我正在通过执行以下操作来创建javascript对象:
function field(name,label){
this.name = name
this.label= label;
}
var a = new field("market","Mkt").
Run Code Online (Sandbox Code Playgroud)
然后我分配给另一个对象.
object.newField = a;
Run Code Online (Sandbox Code Playgroud)
第二种方法是直接创建新属性
object.2ndNewField = {
name: "market2",
label:"Mkt2"
}
Run Code Online (Sandbox Code Playgroud)
我尝试读取其他功能中的对象.但是,当我对对象进行字符串化时,它们表现不一样.我创建的两个属性之间有什么区别?
顺便问一下这个对象有什么区别吗?
object.2ndNewField = {
"name": "market2",
"label":"Mkt2
}
Run Code Online (Sandbox Code Playgroud)
不同的是,在第一种情况下,所创建的对象从继承field.prototype然后Object.prototype中(即,其内部的[[Prototype]]是field.prototype,其内部的[[Prototype]]是Object.prototype中),其中,如在第二种情况下,它仅从Object.prototype继承.
另一种看待它的方法是:
object.newField instanceof field; // true
object.newField instanceof Object; // true
object.newField2 instanceof field; // false
object.newField2 instanceof Object; // true
Run Code Online (Sandbox Code Playgroud)
或者继承链是:
object.newField -> field.prototype -> Object.prototype -> null
object.newField2 -> Object.prototype -> null
Run Code Online (Sandbox Code Playgroud)
其中' - >'表示"继承自".