1. 程式人生 > >js中的Object對象

js中的Object對象

init 設置 out desc javascrip call utf-8 viewport wid

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>

           var
obj={ name:‘zain‘, age:26 }; Object.defineProperty(obj,"__abc__",{ value:2, configurable:false, //是否可配置 enumerable:false, //是否可枚舉,叠代 writable:false //是否可以改變值
}); Object.defineProperty(obj,"show",{ configurable:false, //是否可配置 enumerable:true, //是否可枚舉,叠代 writable:true //是否可以改變值 }); // var __a__={}; //這個對象最好別操作,私有受保護的。 // var __DEFS__={}; // __代表受保護,全大寫代表常量
// console.log(obj); // Object.keys // Object.getOwnPropertyNames // Object.getOwnPropertyDescriptor // Object.propertyIsEnumerable // Object.setPrototypeOf // Object.getPrototypeOf // Object.hasOwnProperty //返回該對象可枚舉的屬性 var keys=Object.keys(obj); console.log(keys); //返回該對象所有的屬性,__proto__除外。 var names=Object.getOwnPropertyNames(obj); console.log(names); //返回對象的原型 console.log(Object.getPrototypeOf(obj)); //JavaScript對象既可以有自己的屬性,又可以從原型對象繼承屬性。 hasOwnProperty()方法提供了區分繼承屬性和非繼承的局部屬性的方法。 console.log(obj.hasOwnProperty(‘age‘),obj.hasOwnProperty(‘Jack‘),obj.hasOwnProperty(‘toString‘)); //將一個指定的對象的原型設置為另一個對象或者null(既對象的[[Prototype]]內部屬性). //Object.setPrototypeOf(obj, prototype) console.log(Object.setPrototypeOf(obj,{name:‘zitming‘})); console.log(obj.name); //還是zain,這個方法只是設置的原型對象,__proto__上的name為zitming //返回對象的原型,{name:‘zitming‘} console.log(Object.getPrototypeOf(obj)); //表示這個對象是否可枚舉(叠代) console.log(obj.propertyIsEnumerable(‘name‘)); //獲取指定對象的自身屬性描述符。自身屬性描述符是指直接在對象上定義(而非從對象的原型繼承)的描述符 //Object.getOwnPropertyDescriptor(object, propertyname) console.log(Object.getOwnPropertyDescriptor(obj,‘name‘)); // function outer(){ // inner(); // console.log(outer.caller); // } // function inner(){ // console.log(inner.caller); // } // (function abc(){ // outer() // })(); </script> </body> </html>

js中的Object對象