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

箭头函数=>无疑是ES6中最受关注的一个新特性了,通过它可以简写 function 函数表达式,你也可以在各种提及箭头函数的地方看到这样的观点——“=> 就是一个新的 function”. 箭头函数的句法规则甚至早已延伸到各项标准和技术文档中去了,虽然它早已不稀奇,却给我们一种刚刚发现的新鲜感.  粉我的人都知道俺因为某些原因不怎么喜欢 => 的语法,不过别担心,本文并非讲述我为何不喜欢它,如果你对这个观点感兴趣,可以查看我<YDKJS:ES6 & Beyonf>一书…
箭头函数:省去了关键字function和return: eg: reduce=(a,b)=>a+b;//返回a+b的值 redduce=(a,b)=>{console.log(a);console.log(b);return (a+b);}//对于有块级作用域的,如要返回值,需用return返回 注意: 当用箭头符号创建一个普通对象时,最好用小阔号将其包裹,因js引擎也会将类似{key,value}这样的对象解析为块语句,会造成歧义. eg: 创建狗的空对象 var newDog=Dog=&g…
一.箭头函数 普通函数1 var add = function (a, b) { return a + b; } 普通函数2 function add (a, b) { return a + b; } 箭头函数 var add = (a, b) => a + b; 如果函数内部只有一句返回值,连return都不用写了,如果里面执行的语句比较多,就用{ }括起来 var add = (a, b)=> { console.log("这是箭头函数"); return a + b;…
× 目录 [1]痛点 [2]解决 [3]基本用法[4]回调函数[5]注意事项 前面的话 this机制与函数调用有关,而作用域则与函数定义有关.有没有什么是可以将this机制和作用域联系起来的呢?本文将介绍ES6新增的内容——箭头函数 痛点 对于闭包的痛点在于,闭包的this默认绑定到window对象,但又常常需要访问嵌套函数的this,所以常常在嵌套函数中使用var that = this,然后在闭包中使用that替代this,使用作用域查找的方法来找到嵌套函数的this值 var a = 0;…
1.单参数function cheng(a=3){    return a*a;}let cheng= (a=3)=>a*a;console.log(cheng(9));2.多参数function add(a,b){    return a+b;}let add = (a,b)=>a+b;   //默认返回值console.log(add(3,9));3.无返回值function add(a,b){    console.log(a+b);}let add = (a,b)=>{conso…
ES6标准新增了一种新的函数:Arraw Function(箭头函数). x => x * x 这个函数相当于 function (x){ return x * x; } 题外话:user strit javascript严格模式 var fn = x=>x*x; alert(fn(4)); 返回值为:4*4=16; 箭头函数有两种函数, 一种是只包含一种表达式的,就是上面的这种. 另一种就是包含多少种语句的, x => { if (x > 0) { return x * x; }…
generater跟函数很像: function* fn(x){ yield x; yield x++; return x;} 如上所示,generater用function*定义,可以用yield返回多次,也可以使用return返回; 调用generater有两个方法,一是一直调用generater的next()方法: console.log(fn.next()); console.log(fn.next()); console.log(fn.next()); 直到fn.next()返回tru…
箭头符号在JavaScript诞生时就已经存在,当初第一个JavaScript教程曾建议在HTML注释内包裹行内脚本,这样可以避免不支持JS的浏览器误将JS代码显示为文本.你会写这样的代码: <script language="javascript"> <!-- document.bgColor = "brown"; // red // --> </script> 老式浏览器会将这段代码解析为两个不支持的标签和一条注释,只有新式浏…
ECMAScript 6新增了箭头函数 原来的匿名函数 function(){},现在可以简化成()=>{} 看起来高大上,像C#什么的语法. 但是箭头函数的this对象,不能更改,总是指向函数定义生效时所在的对象. 如果用在jQuery的事件处理,就会导致this指向意想不到的元素,比如全局的window…
箭头函数: 用箭头定义函数........           var fun = x=>x*x alert(fun(2))            //单参数   var fun1 = ()=>2 alert(fun1())        //无参数   var fun2 = (x,y)=>x+y alert(fun2(1,2))        //双参数   var fun3 = ()=>({a:12}) alert(fun3().a)          //返回值是对象(要加括…