JavaScript原型规则和实例

时间:2023-03-09 03:54:15
JavaScript原型规则和实例
 var arr = []  // var arr = new Array()
var obj = {} // var obj = new Object()
function fn() {} // var fn = Function() {}

隐式原型:(所有对象都有隐式原型)

JavaScript原型规则和实例

显示原型:(函数才有显示原型)

JavaScript原型规则和实例

隐式原型指向其构造函数的显示原型

JavaScript原型规则和实例

hasOwnProperty(对象中是否存在某个属性)

JavaScript原型规则和实例

Object.keys(obj)获取对象的key存入一个数组

JavaScript原型规则和实例

Object.values(obj)获取对象中的value值存入数组

JavaScript原型规则和实例

Object.entries(obj)获取每个键值对存入数组

JavaScript原型规则和实例

构造函数(创建类, ES6中使用class)

 function Person(name, age) {
this.name = name;
this.age = age;
return this; // 默认返回的,可以省略
}

显示原型上添加属性或方法

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

创建实例

 var person1 = new Person('Nick', 20)
var person2 = new Person('Jone', 21)

实例的隐式原型指向构造函数的显示原型

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

调用方法

 person1.getName()
person2.getName()

constructor构造方法

JavaScript原型规则和实例

原型链

JavaScript原型规则和实例

JavaScript原型规则和实例