每一个不曾起舞的日子都是对生命的辜负。
执行栈: 也叫调用栈,用于储存代码执行期间的所有执行上下文,具有先进后出(LIFO)的结构,用于管理维护执行上下文 执行上下文: 是当前js代码被解析和执行时所在环境的抽象概念,js中代码都在上下文中执行 执行上下文 全局执行上下文: 只有一个,js执行时一直在执行栈底,直到执行结束,才出栈 函数执行上下文: 若干个,函数调用时才创建,函数执行结束出栈 Eval函数执行上下文: 指运行在eval函数中的代码,很少用 全局执
数组数组操作方法 Establish方法–’创建数组’ Mutator方法–’突变方法’–改变原数组 Accessor方法–’访问方法’–不改变原数组 Iteration方法–’遍历方法’ Establish(创建数组的方式)字面量,构造器方法123let arr = [1,2,3]let arr = new Array(2) // [empty*2] 只有一个数字时表示数组长度,长度为2的空数组let arr = Arr
定义类类是’特殊的函数’,两种声明方式,类声明,类表达式类不存在提升问题,需要先生命,否则会报错首字母大写 123456789// 类声明class Super { constructor () { }}// 类表达式const Super = class {} // 匿名表达式 super.name = 'super'const Supe
公有属性和方法公有方法必须通过实例化调用;公有方法中不能使用this调用静态方法 属性,必须构造函数(对象)本身调用;公有方法不能调用私有属性方法(调用即是特权方法) 12345678910111213141516// 在构造函数中function User (name, age) { this.name = name // 公有属性 this.age = age}User.prototype.getNa
Js的继承是基于原型实现的 常见的继承7种方式: 原型继承 借用构造函数继承(经典继承) 原型链+构造函数的组合继承 原型式继承 寄生式继承 寄生组合式继承 ES6 Class继承 原型继承这种方式是把子类原型指向父类实例,子类实例通过原型链找到父类实例,再通过父类实例找到父类原型,实现继承. 123456789101112131415function Sup(name) { this.name = name
深入理解原型本文主要介绍: 什么是原型和原型链 prototype和__proto__有什么区别 new和Object.create()创建对象和实现继承的区别 instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。 整体关系图: 原型 通常原型指的是对象的原型即obj.__proto__或者ES6中Object.getPrototypeOf(obj)。 fn.prototype
浅拷贝&深拷贝对原始数据类型的复制是值的复制对Object类型的复制是对引用的复制浅拷贝是不考虑Object类型不区分值和引用复制的方式深拷贝是完全复制Object类型,产生新的引用,与原Object不影响 浅拷贝12345678910111213141516171819const arr = [1,2,{name:'gss'}]const obj = {name:'
世界纷繁亦纷扰~