[ES6] 字符串、正则、数值、函数、数组、对象的扩展
2019-01-25 19:57
295 查看
一.字符串
字符串可以被for…of循环遍历。
// for(let item of "pengchb"){ // console.log(item) // }
二.函数的扩展
1.函数参数的默认值
ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面
function log(x, y = 'World') { console.log(x, y); } log('Hello') // Hello World log('Hello', 'China') // Hello China log('Hello', '') // Hello log(undefined, 'y值') // undefined "y值" log("", 'y值') // "y值"
2.函数的 length 属性
指定了默认值后,length属性将失真。
(function (a) {}).length // 1 (function (a = 5) {}).length // 0 (function (a, b, c = 5) {}).length // 2
3.箭头函数
let fun = (a,b) => a+b ; console.log(fun(1,2)) let fun2 = (a,b) => {return a+b }; console.log(fun2(1,2)) let fun3 = (a,b) =>{ return {x:a,y:b}}; console.log(fun3(1,2))
箭头函数有几个使用注意点。
(1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。
(2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。
(3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。
(4)不可以使用yield命令,因此箭头函数不能用作 Generator 函数。
上面四点中,第一点尤其值得注意。this对象的指向是可变的,但是在箭头函数中,它是固定的。
function foo() { setTimeout(() => { console.log('id:', this.id); }, 100); } var id = 21; foo.call({ id: 42 }); // id: 42
function foo(){ setTimeout(function(){ console.log(id) },100) } var id = 10; foo.call({ id : 1000})
相关文章推荐
- ES6学习笔记:字符串、正则、数值、函数和数组的扩展
- ES6--字符串、正则、数值、数组的扩展
- 从零开始学_JavaScript_系列(15)——js系列<4>(数值、字符串、对象、数组、函数、日期的基本方法)
- ES6学习--字符串、数组、对象、函数新增点
- JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...
- ES6 - Note3:数组、对象与函数的扩展
- 鸡啄米:C++编程入门系列之二十六(数组、指针和字符串:数组的存储与初始化、对象数组、数组作为函数参数)
- ES6学习随笔--字符串模板、解构赋值、对象、循环、函数、Promise、Generrator
- JavaScript常用字符串与数组扩展函数小结
- JavaScript解构赋值(代码说明ES6数组, 对象, 函数的解构赋值)
- JavaScript常用字符串与数组扩展函数小结
- ES6--对象、函数的扩展
- ES6 学习笔记(一)String、数值、数组、对象
- ES6---扩展运算符和rest‘...’(三点运算符),在数组、函数、set/map等中的应用
- JS 将变量 转化为字符串的方法, 适用于所有类型,数组, JSON对象,函数和基本类型等
- eval函数就是JavaScript用来解释JSON字符串的,把字符串转化为对象、数组、函数或者其它。
- js数租,对象, 数组,字符串,函数,变量,int与String 型转化,String 转化为js 中内部代码,编码格式转化,<a>标签的死链接
- ES6---扩展运算符和rest‘...’(三点运算符),在数组、函数、set/map等中的应用
- iOS OC(四) 字符串NSString 可变数组NSMutableArray 不可变数组NSArray 数值对象类NSNumber NSValue 数值对象类NSNumber
- 学学JavaScript(ES6)对象、函数、字符串新语法