JS箭头函数的this】的更多相关文章

转载请注明出处:王亟亟的大牛之路 昨天写了篇React.js的开头之作,讲了讲块级作用域和let,先安利:https://github.com/ddwhan0123/Useful-Open-Source-Android 上一篇的传送门:http://blog.csdn.net/ddwhan0123/article/details/52681169 这里补充下语法环境皆为 ES6 const const类似于java中的 常量,申明了值就不允许改变. 申明了 就必须立马赋值 不然会 抛Syntax…
1. (e) => {} 是ES 6 新语法,默认是Es 5.1,因此在这里设置一下就不会提示红色下划线了 2.使用: (e) => {}  , 其实就是function (e){} 的缩写, 如:(e)=> {x+y}  ,就相当于是 function (e){  return (x+y) } 当然,之所以是新出写法,不仅仅是用来缩写,如果返回函数里有多个以逗号隔开的参数,则返回最后一个. 如 (e)=> {x+y ,"参数2","参数三"…
ES6标准新增了一种新的函数:Arrow Function(箭头函数). 为什么叫Arrow Function?因为它的定义用的就是一个箭头: x => x * x 上面的箭头函数相当于: function (x) { return x * x; } 箭头函数相当于匿名函数,并且简化了函数定义.箭头函数有两种格式,一种像上面的,只包含一个表达式,连{ ... }和return都省略掉了.还有一种可以包含多条语句,这时候就不能省略{ ... }和return: x => { ) { return…
箭头函数 ES6标准新增了一种新的函数:Arrow Function(箭头函数). x => x * x相当于: function (x) { return x * x; }箭头函数相当于匿名函数,并且简化了函数定义.箭头函数有两种格式,一种像上面的,只包含一个表达式,连{ ... }和return都省略掉了.还有一种可以包含多条语句,这时候就不能省略{ ... }和return: x => { if (x > 0) { return x * x; } else { return - x…
ES6标准新增了一种新的函数:Arrow Function(箭头函数). 为什么叫Arrow Function?因为它的定义用的就是一个箭头 x =>x*x 相当于: function(x) { return x*x; } 箭头函数相当于匿名函数,并且简化了函数定义.箭头函数有两种格式,一种像上面的,只包含一个表达式,连{……}和return都省略掉了.还有一种可以包含多条语句.这个时候就不能省略{……}和return: x=>{ if(x>0){ return x*x; } else…
ES6允许使用=>定义函数,箭头函数使得表达更加简洁,例如 // 正常函数写法 [1,2,3].map(function (x) { return x * x; }); // 箭头函数写法 [1,2,3].map(x => x * x); 定义方式 1. 一行代码可以省略代码块花括号{} var f = () => 5; //等同 var f = function () { return 5 } 2. 一个参数可以省略函数的小括号() var f = v => v; //等同 va…
箭头函数的this看定义他的时候,他的外层有没有函数 有:外层函数的this就是箭头函数的this 无:箭头函数的this就是window obj = {age:18, getAge: ()=>console.log(this.age)} obj.getAge() //undefined 定义的时候外层没有函数,指向window obj = {age:18, getAge: function(){print = ()=>console.log(this.age); print()}} obj.…
箭头函数虽然方便但也不是每个地方都适用, 箭头函数在开发中可以十分方便的干预 this的指向,在一些情况下,是不需要对this的指向进行干预的,也就不适用箭头函数 1.构造函数的原型方法上 例如:Person.prototype.getFirst = function(){} 2.需要获取 arguments 箭头函数中不具备 arguments 伪数组 3.使用对象的方法 const Person = { getName:function(){} } 4.使用动态回调时 例如 addEvent…
foo () { // ... } 等价于 foo: function () { // ... } foo: () => { // ... } 范例: // 全局 name = 'zhangsan' const a = { name: 'lisi', sayName () { console.log(this.name) } } const b = { name: 'wangwu', sayName: () => { console.log(this.name) } } a.sayName()…
参数 函数内部可用的 arguments 对象来访问函数的实参 注意 在函数递归调用的时候(在某一刻同一个函数运行了多次,也就是有多套实参),那么 arguments 属性的值是最近一次该函数调用时传入的实参 如果函数不在执行期间,那么该函数的 arguments 属性的值是 null arguments对象不是一个 Array .它类似于Array,但除了length属性和索引元素之外没有任何Array属性.例如,它没有 pop 方法,但是可以使用Array.prototype.pop.cal…