随笔分类 - JavaScript
摘要:
@ 目录 1 节点 1.1 节点属性 1.2 操作 1.3 Document节点 1.3.1 Document节点的属性 1.3.2 Document节点的方法 读写方法 查找节点 生成节点 事件方法 其他 1.4 Element节点 1.4.1 Element节点的属性 特性属性 尺寸属性 节点相
阅读全文

摘要:
既typeof之后的另一位老朋友! prototype也是我们的老朋友,即使不了解的人,也应该都听过它的大名。如果它还是您的新朋友,我估计您也是javascript的新朋友。 在咱们的第一节(深入理解javascript原型和闭包(1)——一切都是对象)中说道,函数也是一种对象。他也是属性的集合,你
阅读全文

摘要:上文(理解javascript原型和作用域系列(1)——一切都是对象)已经提到,函数就是对象的一种,因为通过instanceof函数可以判断。 var fn = function () { }; console.log(fn instanceof Object); // true 对!函数是一种对象
阅读全文
摘要:数组的去重在我们的日常开发中有时候会使用到,但是一般都是后端去进行数据的去重操作。 但是在面试当中我们经常会被面试官问到数组去重的方法有哪些?那么我们就来看看数组的去重都有哪些可以实现的方式。 1.利用 new Set() // 利用ES6中Set构造函数生成Set数据结构,然后利用Array.fr
阅读全文
摘要:一、外形不同 箭头函数是用箭头定义。 // 普通函数 function func(){ } // 箭头函数 const func=()=>{ } 二、命名 普通函数可以是匿名函数和具名函数,而箭头函数只能是匿名函数。 // 具名函数 function func(){ } // 匿名函数 let fu
阅读全文
摘要:闭包函数有3个特点: 函数嵌套函数 函数内部可以引用外部的参数和变量 参数和变量不会被垃圾回收机制回收 优点:可以避免全局变量的污染。 缺点:闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。 定义:当一个函数A的返回值是另一个函数B,而返回的那个函数B如果调用了父函数A的内部变量,如果
阅读全文
摘要:彻底理解js中this的指向,不必硬背。 首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为什么会有问题,虽然网上大部分的文章都是这样说的,虽然在很多情况下那样去理解不
阅读全文
摘要:在JavaScript基本类型中null和undefined是两个比较特殊的类型,关于null和undefined的区别在于哪里?这个问题相信很多朋友在面试过程中,面试官经常问到的经典问题,那么我们今天就来详细拓展说说两者之间的区别。 二话不说先上代码: // 情况1 console.log(nul
阅读全文
摘要:先考虑一种情况,对一个已知对象进行拷贝,编译系统会自动调用一种构造函数——拷贝构造函数,如果用户未定义拷贝构造函数,则会调用默认拷贝构造函数****。 执行结果:调用一次构造函数,调用两次析构函数,两个对象的指针成员所指内存相同,name指针被分配一次内存,但是程序结束时该内存却被释放了两次,会造成
阅读全文
摘要:有这样一种应用场景,在滚动事件中做一个复杂取值计算或者频繁的触发一个事件,这是很影响性能并容易导致页面卡顿的,所以要合并多次请求,通过函数做一个精确操作。这时就会用到函数防抖或者函数节流,那么,这两种方式有什么区别呢? 个人认为: 函数节流是:在固定的时间内触发事件,每隔n秒触发一次 函数防抖是:当
阅读全文
摘要:基本用法 Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。 const target = { a: 1 }; const source1 = { b: 2 }; const source2 = { c: 3 }; Object.
阅读全文
摘要:
一.Javascript组成 JavaScript的实现包括以下3个部分: ECMAScript(核心)描述了JS的语法和基本对象。文档对象模型 (DOM)处理网页内容的方法和接口浏览器对象模型(BOM)与浏览器交互的方法和接口 javascript 有三部分构成,ECMAScript,DOM和
阅读全文

摘要:
1、声明多个变量 // 常规写法 let x; let y = 20; // 简写 let x,y = 20; 2、为多个变量赋值 使用数组解构赋值 // 常规写法 let a,b,c; a = 5; b = 8; c = 10; // 简写 let [a,b,c] = [5,8,10] 3、恰当使
阅读全文

摘要:
1.获得视口的尺寸 function getViewportOffset() { if (window.innerWidth) { return { w: window.innerWidth, h: window.innerHeight } } else { // ie8及其以下 if (docum
阅读全文

摘要:
在JavaScript中,除了Object之外,Array类型(数组)恐怕就是最常用的类型了。与其他语言的数组相比,JavaScript中的Array非常灵活。这种灵活性有利有弊,好处是其富有创造性,可以提供各种灵活的解决方案;坏处是容易脑子不够用,因为事实上,它太灵活了,灵活到无法控制的抓狂。 前
阅读全文
