一、创建JS的三种方式
二、原型链
dir(document) 查看属性
以document举例,一层又一层的 document._proto_ 组成了原型链
如何互相转换
/* 原型链 1. 原型 ===> 类 2. 原型对象 ===> 类中的属性与方法组成的一个对象 3. 实例对象 ===> 4. 互相转换 */ function User() { } console.log("原型", User) User.prototype.username = "test"; User.prototype.password = "admin*123"; User.prototype.login = function login(username, password) { console.log(`${username},登录成功`); } // 从原型到原型对象 console.log("原型对象", User.prototype); // 从原型到实例对象 let user = new User() console.log(user) user.login("小明", '123') // 原型对象 到原型 console.log(User.prototype.constructor === User); // 从原型对象到实例对象 let user2 = new User.prototype.constructor(); console.log(user2) // 从实例对象到原型对象 console.log(user.__proto__ === User.prototype); console.log(Object.getPrototypeOf(user) === User.prototype); // 从实例对象到原型对象 console.log(user.__proto__.constructor === User); console.log(Object.getPrototypeOf(user).constructor === User);