随笔分类 - ES6总结
js给定两个数组,计算它们的交集?
摘要:一般忙完工作或者有空时间了,我喜欢刷一刷GitHub,语雀,阮一峰老师博客等网站,看看有哪些新的技术栈,呢些新的更新等。 今天GitHub的讨论社区里发现了好几种 计算数组的交集的方法。 JavaScript给定两个数组,写一个方法来计算它们的交集 查看代码 var nums1 = [1, 2, 2
JS循环和递归的方法实现: 1*2*3...n 阶乘
摘要:JS循环和递归的方法实现: 1*2*3...n 阶乘(递归的方法和普通方法) 就是函数自己调用自己本身,或者在自己函数调用的下级函数中调用自己。 方法1: function fn(n) { // 判断: 如果是n=1 直接输出1 退出 if (n == 1) { return 1; } // 如果是
两种方法实现点击列表的时候分别打印索引号(普通方法/闭包)
摘要:首先来简述什么是闭包 假设上面三行代码在一个立即执行函数中(为简明起见,我就不写立即执行函数了,影响读者理解)。 三行代码中,有一个局部变量 local,有一个函数 foo,foo 里面可以访问到 local 变量。 好了这就是一个闭包: 「函数」和「函数内部能访问到的变量」的总和,就是一个闭包。
JavaScript中的Object.defineProperty方法
摘要:首先看一下官方的定义:Object.defineProperty()方法会直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象。语法 Object.defineProperty(obj,prop,descriptor) 对象添加属性 以前的修改添加对象属性的方法 OBJ.pa
如果是New一个函数 会是怎样呢?
摘要:箭头函数是ES6中的提出来的,它没有prototype,也没有自己的this指向,更不可以使用arguments参数,所以不能New一个箭头函数。 new操作符的实现步骤如下: 1、创建一个空的简单JavaScript对象(即{}); 2、为步骤1新创建的对象添加属性__proto__,将该属性链接
4-对象扩展运算符(…):
摘要:对象扩展运算符(…): 当编写一个方法时,我们允许它传入的参数是不确定的。这时候可以使用对象扩展运算符来作参数,看一个简单的列子: function jspang(...arg){ console.log(arg[0]); console.log(arg[1]); console.log(arg[2
3-变量的解构赋值
摘要:以前,为变量赋值,我们只能直接指定值。比如下面的代码: let a=0; let b=1; let c=2; 而现在我们可以用数组解构的方式来进行赋值。 letl [a,b,c]=[1,2,3]; 上面的代码表示,可以从数组中提取值,按照位置的对象关系对变量赋值。 ** 数组模式和赋值模式统一:**
2-新的变量声明方式(var ,let,const)
摘要:以前我们在声明时只有一种方法,就是使用var来进行声明,ES6对声明的进行了扩展,现在可以有三种声明方式了。 字面理解ES6的三种声明方式: var在ES6里是用来升级全局变量的,我们可以先作一个最简单的实例,用var声明一个变量a,然后用console.log进行输出。 var a='小麦xiao