![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
文章平均质量分 53
Zomboy
这个作者很懒,什么都没留下…
展开
-
ES6新特性
1.变量声明:const和letES6推荐使用let声明局部变量,相比之前的var(无论声明在何处,都会被视为声明在函数的最顶部)let和var声明的区别:var x = '全局变量';{ let x = '局部变量'; console.log(x); // 局部变量}console.log(x); // 全局变量let表示声明变量,而const表示声明常量,两者都为块级作用域;const 声明的变量都会被认为是常量,意思就是它的值被设置完成后就不能再修改了:const a = 1原创 2021-04-09 10:04:43 · 86 阅读 · 0 评论 -
函数防抖和函数节流
function debounce(fn, delay) { // fn = test let timerId = null; return function () { let self = this; let args = arguments; timerId && clearTimeout(timerId); timerId = setTimeout(fun..原创 2021-04-07 21:39:10 · 70 阅读 · 0 评论 -
JS--继承
ES6之前的继承方法基本思想:1.1在子类的构造函数中通过call/apply借助父类的构造函数1.2将子类的原型对象修改为父类的实例对象(即通过prototype和构造函数实现) function Person(myName, myAge) { this.name = myName; this.age = myAge } Person.prototype.say = function () { console.log(this.原创 2021-03-23 09:37:26 · 77 阅读 · 0 评论 -
JS--基本数据类型
在JS中一共有六种数据类型1.String 字符串(基本数据类型)2.Number 数值(基本数据类型)3.Boolean 布尔值(基本数据类型)4.Null 空值(基本数据类型)5.Undefined 未定义(基本数据类型)6.Object 对象(引用数据类型)JavaScript中只有基本数据类型和引用数据类型如何查看数据类型?和C语言一样, 使用typeof操作符可以用来检查数据类型。使用格式:typeof 数据,例如 typeof 123; typeof num;console原创 2021-03-22 19:46:19 · 240 阅读 · 0 评论 -
JS-闭包
1.什么是闭包(closure)?闭包是一个特殊的函数2.如何生成一个闭包?当一个内部函数引用了外部函数的数据(变量/函数)时,那么内部的函数就是闭包所以只要满足"是函数嵌套",“内部函数引用外部函数数据”3.闭包特点:只要闭包还在使用外部函数的数据,那么外部的数据就一直不会被释放也就是说可以演唱外部函数数据的生命周期4.闭包注意点:当后续不需要使用闭包的时候,一定要手动将闭包设置为null,否则会出现内存泄漏function hello(){ var num = 100; va原创 2021-03-20 08:50:48 · 108 阅读 · 0 评论 -
深拷贝和浅拷贝
深拷贝:修改新变量的值不会影响原有变量的值默认情况下基本数据类型都是深拷贝基本数据类型:一:for(let key in p1){p2[key] = p1[key]}二:assign方法可以将第二个参数的对象的属性和方法拷贝到第一个参数对象中Object.assign(p2,p1)引用数据类型:class person{ name = "smh"; cat = { age:3 }; scores = [1, 3, 5]; } let p1 = new原创 2021-03-18 15:01:06 · 101 阅读 · 0 评论 -
JS-原型链--函数与对象的关系
1.Function函数是所有函数的祖先函数2.所有构造函数都有一共prototype属性3.所有原型对象都有一共constructor属性4.所有函数都是对象5.所有对象都有一个__proto_属性 function Person(myName, myAge) { this.name = myName; this.age = myAge; this.currentType = "构造函数中的type"; this.say =原创 2021-03-05 21:12:40 · 251 阅读 · 0 评论 -
js中作用域和预解析问题
作用域链需要明确:1.1ES6之前定义变量通过var ES6之后定义变量用let1.2.ES6之前没有块级作用域,只有全局作用域和局部作用域ES6新增加了块级作用域 但是通过let定义变量并无差异(都是局部作用域)1.3.ES6之前函数大括号外都是全局作用域1.4.ES6之前函数大括号中都是局部作用域ES6之前作用域2.1全局作用域我们又称为0级作用域2.2定义函数开启的作用域就是1/2/3…级作用域2.3JavaScript会将这些作用域链接在一起形成一个链条,这个链条就是作用域链0原创 2021-03-04 16:47:45 · 151 阅读 · 1 评论