
js
前端小小的少年
这个作者很懒,什么都没留下…
展开
-
34个不可错过的JavaScript代码优化技巧
1、 带有多个条件的 if 语句把多个值放在一个数组中,然后调用数组的 includes 方法。//longhandif (x === 'abc' || x === 'def' || x === 'ghi' || x ==='jkl') { //logic}//shorthandif (['abc', 'def', 'ghi', 'jkl'].includes(x)) { //logic}2、简化 if true…else对于不包含大逻辑的 if-else 条件,可以使用转载 2022-04-26 10:40:01 · 339 阅读 · 0 评论 -
JS实现数组去重方法总结
方法一:双层循环,外层循环元素,内层循环时比较值如果有相同的值则跳过,不相同则push进数组Array.prototype.distinct = function(){ var arr = this, result = [], i, j, len = arr.length; for(i = 0; i < len; i++){ for(j = i + 1; j < len; j++){ if(arr[i] === arr[j]){ j = ++i;转载 2021-03-13 08:28:00 · 162 阅读 · 0 评论 -
节点操作
创建节点1. document.createElement()2. document.cretaeTextNode()插入节点1. 父节点.appendChild(子节点)2. 父节点.insertBefore(子节点, 谁的前面)删除节点1. 父节点.removeChild(子节点)2. 节点.remove()替换节点1. 父节点.replaceChild(新节点, 旧节点)克隆节点1. 节点.cloneNode()=> 参数默认为 false, 表示不克隆后代节点=&g原创 2021-03-13 08:17:50 · 236 阅读 · 0 评论 -
事件委托
就是利用事件传播的机制, 把自己的事件委托给别人来做把子元素本身需要绑定的事件, 直接绑定给共同的父元素在父元素的事件里面通过事件目标来判断你点击的是谁事件委托相比于循环绑定事件的优点对于 DOM 操作的减少动态添加的元素不需要单独添加事件整套的替换元素, 不影响操作, 是要把事件委托委托给一个在页面上不动的父元素var ul = document.querySelector('.box')ul.onclick = function (e) { e = e||原创 2021-03-13 08:09:07 · 311 阅读 · 0 评论 -
闭包
闭包函数是一个不会销毁的函数,内部函数可以使用外部函数的私有作用域。闭包的特点:延长了变量的声明周期缺点: 一个不会销毁的函数执行空间函数内部的变量私有化 缺点: 外部不能访问, 如果你希望访问, 那么需要闭包函数的出现可以在函数外部操作函数内部的私有数据缺点: 需要一个闭包函数的出现柯理化函数是闭包函数的高阶应用...原创 2021-03-13 07:59:43 · 88 阅读 · 0 评论 -
js中继承的方法
拷贝继承、原型继承、构造函数继承、寄生式组合继承、类继承语法继承让 A 构造函数的实例使用 B 构造函数的属性和方法我们 A 继承自 B 构造函数A 是 B 的子类B 是 A 的父类原型继承利用修改原型链的方式来达到继承的效果原型集成的优点和缺点优点: 属性和方法都继承下来的缺点:在做 Student 的实例, 一个构造函数需要在两个位置传递参数我继承来的属性, 不在自己身上// 传感两个函数,分别是f函数和son函数 function f(name){原创 2021-03-13 07:55:02 · 145 阅读 · 0 评论 -
call、apply和bind的区别
1、都是用来改变函数的this对象的指向的。2、第一个参数都是this要指向的对象。3、都可以利用后续参数传参。4、bind会产生新的函数,(把对象和函数绑定死后,产生新的函数)。call和apply不会产生新的函数,只是在调用时,绑定一下而已。5、call、apply会立即执行,bind返回的是一个函数,需调用后执行6、call后面是传递的参数,apply的第二个参数是一个数据,是传输的数据。使用场景:1、需要改变某个函数的this指向时2、当参数较少时可以使用call,参数较多可以使用a原创 2021-03-13 07:47:55 · 712 阅读 · 0 评论 -
IE和标准下有哪些JS兼容性的写法
转载 2021-03-13 07:34:00 · 286 阅读 · 0 评论