1. 程式人生 > >JavaScript原型規則和實例

JavaScript原型規則和實例

aso array 方法 mage obj ack [] 添加屬性 prop

1 var arr = []  // var arr = new Array()
2 var obj = {}  // var obj = new Object()
3 function fn() {}  // var fn = Function() {}

隱式原型:(所有對象都有隱式原型)

技術分享圖片

顯示原型:(函數才有顯示原型)

技術分享圖片

隱式原型指向其構造函數的顯示原型

技術分享圖片

hasOwnProperty(對象中是否存在某個屬性)

技術分享圖片

Object.keys(obj)獲取對象的key存入一個數組

技術分享圖片

Object.values(obj)獲取對象中的value值存入數組

技術分享圖片

Object.entries(obj)獲取每個鍵值對存入數組

技術分享圖片

構造函數(創建類, ES6中使用class)

1 function Person(name, age) {
2    this.name = name;
3    this.age = age;
4    return this;   // 默認返回的,可以省略
5 }

顯示原型上添加屬性或方法

1 Person.prototype.getName = function() {
2   console.log(this.name)
3 }

創建實例

1 var person1 = new Person(‘Nick‘, 20)
2 var person2 = new Person(‘Jone‘, 21)

實例的隱式原型指向構造函數的顯示原型

1 person1.__proto__ === Person.prototype
2 person1.getName === person1.__proto__.getName === Person.prototype.getName

調用方法

1 person1.getName()
2 person2.getName()

constructor構造方法

技術分享圖片

原型鏈

技術分享圖片

技術分享圖片

JavaScript原型規則和實例