JavaScript权威指南(第6版)(中文版)--系列4(对象)
2021-06-18 20:03
标签:ISE delete 也有 null 参数 创建 als -- 对象 对象是JavaScript基本数据类型。 6.1创建对象。 可以通过对象直接量、关键字new和Object.create()函数来创建对象。 6.1.1 对象直接量。 列子: var empty ={}; //没有任何属性的对象。 var point = {x:0,y:0}; //两个属性。 var point2 = {x:point.x,y:point.y+1} //更复杂的值。 var book = { "main title": "JavaScript", // 属性名字里有空格,必须用字符串表示。 ‘sub-title‘:"The Definitive Guide" // 属性名字里有连字符,必须用字符串表示 "for" : "all audiences", // "for是保留字,因此必须用引号" author:{ // 这个属性的值是一个对象。 firstname: ‘David‘ //注意,这里的属性名都没有引号 } }; 6.1.2 通过new创建对象。 new 运算符创建并初始化一个新对象。关键字new后跟随一个函数调用,这里的函数称作构造函数。 var o = new Object(); //创建一个空数组,和【】一样 var d = new Date(); //创建一个表示当前时间的date对象 6.1.3 原型 每一个JavaScript对象(null除外)都和另一个对象想关联,"另一个"对象就是我们熟知的原型,每一个对象都是从原型继承属性。 object.prototype 通过关键字new和构造函数调用创建的对象的原型,就是构造函数的prototype的属性值。 6.1.4 Object.create(); 它创建一个新对象,其中第一个参数是这个对象的原型第二个可选参数,用以对象的属性进行进一步描述。 var o1 = Object.create({x:1,y:2}); //o1继承了属性x和y 6.2 属性的查询和设置。 6.2.2 继承。 JavaScript对象具有"自有属性",也有一些属性是从原型对象继承而来的。 var o ={} //o 从Object.prototype 继承对象的方法。 o.x =1; // 给o定义一个属性x var p = inherit(o); // p继承o和Object.prototype p.y=2; // 给p定义一个属性y var q = inherit(p) // q继承p、o和object.prototype q.z=3; // 给q定义一个属性y var s = q.toString(); toString继承自Object.prototype q.x+q.y // 3 x和y分别继承自o和p 6.2.3 属性访问错误。 6.3 删除属性。 delete 运算符可以删除对象的属性。 6.4 检测属性。 in, hasOwnPreperty()和propertyIsEnumerable() var o = {x:1} "x" in o; // true: "x"是o的属性。 "y" in o; // false "y"不是o的属性。 "toString" in o; // true: o 继承toString属性。 对象的hasOwnProperty()方法用来检测给定的名字是否对象的自有属性。对于继承属性它将返回false: var o = {x:1} o.hasOwnProperty("x") // true: o 有一个自有属性x o.hasOwnProperty("y") // false:o中不存在属性y o.hasOwnProperty("toString") // false toString是继承属性。 6.5 枚举属性。 6.6 属性getter和setter 6.8 对象的三个属性。 6.8.1 原型属性。 要想检测一个对象是否是另一个对象的原型,请使用isPrototypeOf()方法。 6.8.2 类属性。 6.9 序列化对象。 对象序列化是指对象的状态转换为字符串,也可以将字符串还原为对象。 内置函数JSON.stringify()和JSON.parse()用来序列化和还原JavaScript对象。 o = {x:1,y:{z:[false,null,""]}}; // 定义一个测试对象。 s= JSON.stringify(o); // s是‘{"x":1,"y":{"z":{false,null,""}}}‘; p = JSON.parse(s); // p是o的深拷贝 6.10 对象方法 6.10.1 toString()方法 toString()方法没有参数,它将返回一个表示调用这个方法的对象值的字符串,在需要将对象转换为字符串的时候。 var s ={x:1,y:1}.toString(); 6.10.2 toLocaleString() 方法 返回一个表示这个对象的本地化字符串。 6.10.3 toJSON() 方法。 6.10.4 valueOf() 方法。 JavaScript权威指南(第6版)(中文版)--系列4(对象) 标签:ISE delete 也有 null 参数 创建 als -- 对象 原文地址:https://www.cnblogs.com/wcq12/p/9700149.html
文章标题:JavaScript权威指南(第6版)(中文版)--系列4(对象)
文章链接:http://soscw.com/index.php/essay/95626.html