ES5-ES6-ES7_函数的扩展】的更多相关文章

1.函数参数的默认值 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法.现在ES6可以为函数的参数添加默认值,简洁了许多. ES5 function show(a,b){ b = b || 8; return a*b; } console.log(show(8,8)); ES6 let show = (a,b=8) => a*b; console.log(show(8)); 2.rest参数 ES6引入rest参数,形式为:“...变量名”,用于获取函数的多余参数,这样就不需要使…
一.设置默认参数 ES6之前,给函数设置默认参数是这样做的: function fn(a) { if(typeof y === undefined){ a = a || 'hello'; } console.log(a); } fn('hi'); // 'hi' fn(false); // false 这里之所以要判断一下,是因为我们本意是函数没有传值时才给参数 a 设置为 'hello',但是如果调用函数时传入了布尔值 false,也会把参数 a 设置为 'hello'. 在 ES6 中允许为…
1.函数参数默认值[详情例子参照ESMAScript 6入门 (阮一峰)] 允许为函数的参数设置默认值,即直接写在参数定义的后面.[例子1] 参数变量是默认声明的,所以不能用let或const再次声明.[例子2] 参数默认值不是传值的,而是每次都重新计算默认值表达式的值.(惰性求值)[例子3] 2.函数的length属性 指定了默认值后,length属性将失真.[因为length属性的含义是,该函数预期传入的参数个数.] 3.rest参数[...变量名],用于获取函数的多余参数 注意:rest…
函数参数的默认值 function log(x, y) { y = y || 'world' console.log(x + ' ' + y); } log('hello') // hello world log('hello','China') // hello China log('hello', '') // hello world /* * 如果 y 没有赋值,指定默认值为world // log('hello') // hello world * 如果 y 有赋值,指定赋值 log('…
1.函数可以设置参数默认值 function test1(x,y=1){ console.log(x,y) } test1(10)//10 1 2.rest参数:形式为...变量名 function test2(a,...b){ for(let i of b){ a+=i } console.log(a) } // 说明传入的参数是一个一个的传入,而不是数组形式 test2(100,1,2,3) test2(100,[1,2,3,4])//1001,2,3,4 注意:如果有rest参数,那么它一…
ES6一路扩展,字符串.数组.数值.对象无一“幸免”,ES6说要雨露均沾,函数也不能落下,今天,就来讲解ES6对函数的扩展. 参数的默认值 在开发中,给函数的参数指定默认值,是很普遍很常见的一个需求,我们先来回顾一下传统的实现方式,对比着看更好理解: function person(n,a){ var name = n || 'Zhangsan'; var age = a || 25; } 上面是传统的实现方式,通过或运算实现,原理:如果运算符 || 左侧为true,直接返回左侧的值,否则返回右…
一.数组的扩展,ES6在数组扩展了一些API,以实现更多的功能 1.Array.from:可以将类数组和可遍历的数据结构转换成真正的数组,如下所示 var a = { '0':1,'1':1,length:2 }; var arr = Array.from(a); console.log(arr) Array [ 1, 1 ] ---------------ES5的实现----------- var arr = [].slice.call(a); console.log(arr) Array […
1函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法. function log(x, y) { y = y || 'World'; console.log(x, y); } log('Hello') // Hello World log('Hello', 'China') // Hello China log('Hello', '') // Hello World 上面代码检查函数log的参数y有没有赋值,如果没有,则指定默认值为World.这种写法的…
函数js原有的: 属性:arguments[].caller(调用该函数的引用,注意与callee分别开,callee指的是调用函数本身经常在递归中出现).length(形参个数).prototype 方法:apply().call().bind().toString() 函数的扩展: 函数参数的默认值 在es6之前不能给函数的参数给定默认值,一般会采用这样的方法: function a(x,y){ if(typeof y === 'undefined'){ y = 'world'; } con…
函数的扩展 函数参数的默认值 基本用法 ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法. function log(x, y) { y = y || 'World'; console.log(x, y); } log('Hello') // Hello World log('Hello', 'China') // Hello China log('Hello', '') // Hello World 上面代码检查函数log的参数y有没有赋值,如果没有,则指定默认值为World.…