随笔分类 - Javascript
js数组并集,交集,差集
摘要:js数组并集,交集,差集的计算方式汇总 一、 new Set 方式实现 这种方式实现起来比较简单,原理就是参考new Set可以去重的功能 ,关于去重可以点击 https://www.haorooms.com/post/qd_ghfx 第17条。 new Set取并集 我封装了一个函数,可以取传入所
js 数组 : 差集、并集、交集、去重
摘要:a = [1,2,3] ; b = [3,4] 差集: a.concat(b).filter(v => a.includes(v) ^ b.includes(v)) // [1,2,4] 并集: var tempArr = a.slice() ; b.forEach(v => {!tempArr.i
js三种存储方式区别
摘要:javaScript有三种数据存储方式 javaScript有三种数据存储方式,分别是: sessionStorage localStorage cookier 相同点:都保存在浏览器端,同源的 不同点: ①传递方式不同 cookie数据始终在同源的http请求中携带(即使不需要),即cookie在
CORS与JSONP的区别
摘要:a、 JSONP只能实现GET请求,而CORS支持所有类型的HTTP请求。 b、 使用CORS,开发者可以使用普通的XMLHttpRequest发起请求和获得数据,比起JSONP有更好的错误处理。 c、 JSONP主要被老的浏览器支持,它们往往不支持CORS,而绝大多数现代浏览器都已经支持了CORS
数组实例的 entries(),keys() 和 values()
摘要:数组实例的 entries(),keys() 和 values() entries(),keys()和values(),用于遍历数组。它们都返回一个遍历器对象,可以用for...of循环进行遍历,唯一的区别是keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍
JavaScript中的“闭包”
摘要:什么是JavaScript中的“闭包”?举一个例子。 闭包是一个内部函数,它可以访问外部(封闭)函数的作用域链中的变量。闭包可以访问三个范围内的变量;具体来说: (1)变量在其自己的范围内, (2)封闭函数范围内的变量 (3)全局变量。 看一下实例:
JS中的NaN
摘要:什么是NaN?它的类型是什么?如何可靠地测试一个值是否等于NaN? NaN属性表示“不是数字”的值。这个特殊值是由于一个操作数是非数字的(例如“abc”/ 4)或者因为操作的结果是非数字而无法执行的。 虽然这看起来很简单,但NaN有一些令人惊讶的特征,如果人们没有意识到这些特征,就会导致bug。 一
JS中的Set 与去重
摘要:Set 与去重 ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构。 数组去重 Array.from 方法可以将 Set 结构转为数组。我们可以专门编写使用一个去重的函数 字符去重 另外 Set 是如此强大,
ES6重点知识点总结(2)
摘要:ES6重点知识点总结(2) call和apply的作用是什么?区别是什么? call和apply的功能基本相同,都是实现继承或者转换对象指针的作用; 唯一不通的是前者参数是罗列出来的,后者是存到数组中的; call或apply功能就是实现继承的;与面向对象的继承extends功能相似;但写法不同;
JavaScript 常见创建对象的方式
摘要:JavaScript 有哪几种创建对象的方式? javascript创建对象简单的说,无非就是使用内置对象或各种自定义对象,当然还可以用JSON;但写法有很多种,也能混合使用。 (1)对象字面量的方式 person={firstname:"Mark",lastname:"Yun",age:25,ey
JS中的五种去重方法
摘要:JS中的五种去重方法 第一种方法: 第二种方法: 第三种方法: 第四种方法: 第五种方法:优化遍历数组法 思路:获取没重复的最右一值放入新数组 * 方法的实现代码相当酷炫,* 实现思路:获取没重复的最右一值放入新数组。* (检测到有重复值时终止当前循环同时进入顶层循环的下一轮判断)*/
JavaScript对象的几种创建方式
摘要:JavaScript对象的几种创建方式 (1) 工厂模式 function Parent(){ var Child = new Object(); Child.name="欲泪成雪"; Child.age="20"; return Child; }; var x = Parent(); 引用该对象的
JS中的DOM操作怎样添加、移除、移动、复制、创建和查找节点
摘要:DOM操作怎样添加、移除、移动、复制、创建和查找节点? (1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节点 (1)创建新节点 createDocum
JS深拷贝拷贝的区别?
摘要:拷贝拷贝引用,共享内存 深拷贝拷贝实例,不共享内存 1. 浅拷贝:当一个对象拷贝另一个对象的数据时,只要一个对象的数据发生改变时,另一个对象的数据也会发生改变,因为浅拷贝拷贝的是引用的地址 实现方式: ES6 Object.assign()与扩展运算符...,两者都是只有是多层时才是浅拷贝,如果是一
实现继承的几种方法
摘要:JS继承的实现方式 既然要实现继承,那么首先我们得有一个父类,代码如下: 1、原型链继承 核心: 将父类的实例作为子类的原型 特点: 缺点: 2、构造继承 核心:使用父类的构造函数来增强子类实例,等于是复制父类的实例属性给子类(没用到原型) 特点: 缺点: 3、实例继承 核心:为父类实例添加新特性,
JavaScript 的对象继承方式,有几种写法?
摘要:JavaScript 的对象继承方式,有几种写法? 一、对象冒充 其原理如下:构造函数使用 this 关键字给所有属性和方法赋值(即采用类声明的构造函数方式)。因为构造函数只是一个函数,所以可使 Parent 构造函数 成为 Children 的方法,然后调用它。Children 就会收到 Pare
ES6特性:(阮一峰老师)学习总结
摘要:ES6(阮一峰)学习总结 1.块级作用域的引入 在ES6之前,js只有全局作用域和函数作用域,ES6中let关键字为其引入了块级作用域。 { var a = 5; let b = 6; } console.log(a); //5 console.log(b); //b is undefined le