js
js中一些重要的知识点
JIGE_Vamos
这个作者很懒,什么都没留下…
展开
-
js面试题:实现dom结构转换成对象
面试题 将以下dom结构转换成js对象,并输出节点个数,最大深度以及最多子节点数 <html> <head></head> <body> <div> <span>f</span> <span>o</span> <span>o</span> </div> </bod原创 2020-09-21 13:54:51 · 1931 阅读 · 0 评论 -
Event Loop的总结
JS是单线程的 JS中的代码都是串行的, 前面没有执行完毕后面不能执行 宏任务和微任务 在JS的异步代码中又区分"宏任务(MacroTask)“和"微任务(MicroTask)” 宏任务: 宏/大的意思, 可以理解为比较费时比较慢的任务 微任务: 微/小的意思, 可以理解为相对没那么费时没那么慢的任务 常见的宏任务和微任务 MacroTask(宏任务): setTimeout, setInterval, setImmediate(IE独有)… MicroTask(微任务): Promise, M..原创 2020-06-14 17:25:44 · 142 阅读 · 0 评论 -
js this指向的总结
1.直接调用函数 let obj = { a: function() { console.log(this); } } let func = obj.a; func(); 这种情况是直接调用,this指向window。 2. 对象.方法的形式调用 let obj = { a: function() { console.log(this); } } obj.a(); 这就是对象.方法的情况,this指向这个对象。 3. new绑定 functio原创 2020-06-14 11:17:37 · 154 阅读 · 0 评论 -
js作用域的总结
ES5作用域: ES5定义变量通过var ES5没有块级作用域的概念 ES5函数外都是全局作用域 ES5函数内都是局部作用域 ES6作用域: ES6定义变量通过let ES6括号外都是全局作用域 ES6函数内都是局部作用域,无论是var还是let定义都是局部变量 ES6括号和函数没有结合在一起是块级作用域,通过var定义的变量是一个全局变量,通过let定义的变量是一个局部变量 注意点:无论是在块级作用域还是在局部作用域, 省略变量前面的let或者var就会变成一个全局变量 作用域链: ES5/E原创 2020-06-14 09:55:36 · 136 阅读 · 0 评论 -
js数组问题
数组去重 方式一:通过Set实现 ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 function unique(arr) { return Array.from(new Set(arr)); } 方法二:通过for嵌套实现 function unique(arr){ for(var i=0; i<arr.length; i++){ for(var j=i+1; j<arr.lengt原创 2020-06-13 19:21:14 · 134 阅读 · 0 评论 -
js深拷贝和浅拷贝的总结
深拷贝 修改新变量的值不会影响原有变量的值 默认情况下基本数据类型都是深拷贝 浅拷贝 修改新变量的值会影响原有的变量的值 默认情况下引用类型都是浅拷贝 Object.assign()方法 let obj1 = { a: { b: 1 }, c: 2 } let obj2 = new Object(); Object.assign(obj2 ,obj1) obj2.a.b = 3; obj2.c = 3 console.log(obj1.a.b); // 3原创 2020-06-13 16:13:57 · 145 阅读 · 0 评论 -
js实现继承方式的总结
JS继承的实现方式 首先,我们定义一个父类: function Person(myName, myAge) { this.name = myName; this.age = myAge; this.arr = [1,2]; this.say = function () { console.log(this.name, this.age); } } Person.prototype.eat =原创 2020-06-13 15:36:42 · 228 阅读 · 0 评论 -
js原型和原型链的总结
js原型和原型链的总结一、原型对象三角关系Function函数Object函数总结二、原型链 一、原型 对象三角关系 每个"构造函数"中都有一个默认的属性叫做prototype,保存着一个对象, 这个对象我们称之为"原型对象" 每个"原型对象"中都有一个默认的属性叫做constructor,指向当前原型对象对应的那个"构造函数" 通过构造函数创建出来的对象我们称之为"实例对象",每个"实例对象"中都有一个默认的属性叫做__proto__,指向创建它的那个构造函数的"原型对象" Function函数原创 2020-06-12 15:38:01 · 539 阅读 · 0 评论