JS补环境之JS基础

一、创建JS的三种方式

1. 直接字面量的方式

let a = {};

2. 通过new关键字

let b = new Object();

3. 通过Object.create()方法

let c = Object.create(Object.prototype)
 
 

二、原型链

dir(document) 查看属性
以document举例,一层又一层的 document._proto_ 组成了原型链
notion image

如何互相转换

 
/* 原型链 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);
 
 
 

三、call方法和apply方法以及arguments