將一個指定的對象的原型設置爲另外一個對象或者null
(既對象的[[Prototype]]
內部屬性).javascript
示例:html
<script type="text/javascript"> var Car=function(){ this.name="車"; } var benz=new Car(); console.log(benz.name); Object.setPrototypeOf(benz,{name:"小轎車",price:"23456"}); console.log(benz.name); //未重寫 console.log(benz.price); </script>
Object.defineProperty(被擴展的對象名,屬性名,{屬性的值}) 能夠用於擴展對象的屬性java
不過能夠指定只讀屬性this
示例:spa
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Object.defineProperty()</title> </head> <body> <script> var tom = { name: "tom" }; tom.age = 90; tom["age"] = 88; console.log("tom.age=" + tom.age); var rose = { name: "rose" }; Object.defineProperty(rose, "age", { value: 98, writable:false //只讀 }); rose.age=18; //修改無效 console.log("rose.age=" + rose.age); </script> </body> </html>