摘要:指定,打印打印打印用來給對象定義屬性的可寫可遍歷可配置給對象指定對個屬性打印,打印獲取,設置用來獲取屬性的描述打印用來返回對象的值打印獲取所有屬性名打印讓一個對象不可擴展,該對象無法再添加新的屬性,但是可以刪除現有屬性對一個對象密封,該方法
es5_Object
creat(指定propto,):
let obj = { x:1, y:2 }; //es5 let obj2 = Object.create(obj,{ z:{ value:3 } }); //es6 let obj3={ __proto__:obj, z:3 } console.log(obj2);//打印Object {z: 3}; console.log(obj3);//打印Object {z: 3}; console.log(obj2.x);//打印1;
Object.defineProperty() 用來給對象定義屬性的:
let obj = { x:1, y:2 } obj.k=3; Object.defineProperty(obj,"j",{ value:4, writable:true, //可寫 enumerable:true, //可遍歷 configurable:true //可配置 });
Object.defineProperties() 給對象指定對個屬性:
Object.defineProperties(obj,{ "m":{ value:"m1" }, "l":{ value:"l1" } }) obj.j=50; obj.k=50; console.log(obj);//打印Object {x: 1, y: 2, k: 50, j: 50, m: "m1",l:"l1"}; for(var key in obj){ console.log(key);//打印x y k j; };
獲取,設置:
getOwnPropertyDescriptor()用來獲取屬性的描述:
console.log(Object.getOwnPropertyDescriptor(obj,"x"));//打印Object {value: 1, writable: true, enumerable: true, configurable: true};
Object.keys()用來返回對象的key值:
console.log(Object.keys(obj));//打印["x", "y", "k", "j"];
Object.getOwnPropertyNames()獲取所有屬性名:
console.log(Object.getOwnPropertyNames(obj));//打印["x", "y", "k", "j", "m", "l"];
Object.preventExtensions():
Object.preventExtensions(obj); //讓一個對象不可擴展,該對象無法再添加新的屬性,但是可以刪除現有屬性;
Object.seal() :
Object.seal(obj); //對一個對象密封,該方法會阻止對象擴展,并將該對象的所有屬性設置為不可配置;
Object.freeze() :
Object.freeze(obj); //對一個對象進行凍結,實現常量的需求,該方法會阻止對象擴展,并凍結對象,將其所有屬性設置為只讀和不可配置;
Object.isExtensible():
Object.isExtensible(obj); //判斷對象是否擴展;
Object.isSealed():
Object.isSealed(obj); //判斷對象是否密封;
Object.isFrozen():
Object.isFrozen(obj); //判斷對象是否凍結; //writable:false不可改,true可改; //enumerable:false不可遍歷,true可遍歷; //configurable:false不可配置,true可配置;
"use strict":
嚴格模式 1.棄用了很多以前版本的語法,如果在用的話就提示錯誤;
嚴格模式 2.讓你使用一些最新版本的語法;有些瀏覽器不支持新版本的語法,加上嚴格模式就支持了;
下面就是嚴格模式總結::
1.使用var聲明變量嚴格模式中將不通過 2.何使用"eval"的操作都會被禁止 3.val作用域 4.ith被禁用 5.aller/callee 被禁用 6.禁止擴展的對象添加新屬性會報錯 7.除系統內置的屬性會報錯 8.delete使用var聲明的變量或掛在window上的變量報錯 9.delete不可刪除屬性(isSealed或isFrozen)的對象時報錯 10.對一個對象的只讀屬性進行賦值將報錯 11.對象有重名的屬性將報錯 12.函數有重名的參數將報錯 13.八進制表示法被禁用 14.arguments嚴格定義為參數,不再與形參綁定 15.函數必須聲明在頂層 16.ES5里新增的關鍵字不能當做變量標示符使用,如implements, interface, let, package, private, protected, pulic, static, yield 17.call/apply的第一個參數直接傳入不包裝為對象 18.call/apply的第一個參數為null/undefined時,this為null/undefined 19.bind的第一個參數為null/undefined時,this為null/undefined
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/84232.html
摘要:特性新增的等方法,其中的方法在中被標準話的反序列化小勇小剛大勇小花小黑小白用來將字符串轉成對象的反序列化的序列化小勇小剛大勇小花小黑小白將對象轉成字符串的序列化字符串下列方法全部跟回調函數迭代方法數組遍歷可傳值數組遍歷可傳值返回數組,數組 es5特性 es5新增的string、number、object、Date、function、json等方法,其中json的方法在es5中被標準話!...
閱讀 955·2023-04-25 23:50
閱讀 1954·2021-11-19 09:40
閱讀 598·2019-08-30 13:50
閱讀 2727·2019-08-29 17:11
閱讀 1042·2019-08-29 16:37
閱讀 2986·2019-08-29 12:54
閱讀 2793·2019-08-28 18:17
閱讀 2636·2019-08-26 16:55