es6 - 箭头

 1 class User {
 2     constructor(name, age) {
 3         this.name = name;
 4         this.age = age;
 5     }
 6
 7     changeName(name) {
 8         this.name = name;
 9     }
10
11     changeAge(age) {
12         this.age = age;
13     }
14
15     chage(name, age) {
16
17         // 本this -> 获取的是全局的this
18         var self = this;
19         let fn = () => {
20       //无论嵌套多少层 -> 只要通过箭头符号获取的就是全局的
21             (() => {
22                 (() => {
23                     (() => {
24                         console.log(‘全局this:‘, self);
25                         this.changeAge(age);
26                         this.changeName(name);
27                     })();
28                 })()
29             })()
30
31             console.log(‘全局this:‘, self);
32             this.changeAge(age);
33             this.changeName(name);
34         }
35
36         // function fn() {
37         //     // 当前 - 带箭头 -> 全局
38         //     this.changeAge(age);
39         //     this.changeName(name);
40         // }
41
42         fn();
43     }
44
45
46 }
47
48 var user = new User(‘zhang‘, 30);
49 user.chage(‘long‘, 20);
50
51 console.log(‘chage修改后:‘, user);
52
53
54
55 //  函数 -es5
56 function calc(x, y) {
57     return x * y;
58 }
59
60 console.log(calc(1, 5));
61
62 //  函数 -es6
63 var es6calc = (x, y) => {
64     return x * y;
65 }
66
67 console.log(es6calc(1, 2));

原文地址:https://www.cnblogs.com/cisum/p/9346336.html

时间: 2024-10-05 09:19:18

es6 - 箭头的相关文章

es6箭头函数讲解

es6箭头函数的用法 箭头函数是es6的一种函数的简写方法. 如下: var f = v = > v; //等同于 var f = function(v){ return v; } var sum = (num1,num2) => num1+num2 ; //等同于 var sum = function(num1,num2){ return num1+num2 } [1,2,3].map(function (x) { return x * x; }); // 箭头函数写法 [1,2,3].ma

ES6 — 箭头函数

一 为什么要有箭头函数 我们在日常开发中,可能会需要写类似下面的代码 const Person = { 'name': 'little bear', 'age': 18, 'sayHello': function () { setInterval(function () { console.log('我叫' + this.name + '我今年' + this.age + '岁!') }, 1000) } } Person.sayHello() 上例的输出结果是什么呢?可能对javascript

简单总结es6箭头符号

1.es6箭头符号的几种写法 (1)没有参数 ()=>1*1 (2)一个参数 x=>x*x (3)两个参数以及多个参数 (x,y,z)=>x*y*z 2.箭头符号不会绑定this.arguments.super.new.target (1)arguments function foo() { setTimeout( () => { console.log("args:", arguments); },100); } foo( 2, 4, 6, 8 ); (2)t

es6箭头函数 this 指向问题

es5中 this 的指向 var factory = function(){ this.a = 'a'; this.b = 'b'; this.c = { a:'a+', b:function(){return this.a} } }; console.log(new factory().c.b()); // a+ 通过es5的语法调用,返回的是 a+ ,this 的指向是该函数被调用的对象,也就是说函数被调用的时候,这个 this 指向的是谁,哪个对象调用的这个函数,这个 this 就是谁.

ES6 -箭头函数 ,对象的函数解构

ES6 -箭头函数: //es6 中的箭头函数和扩展 //es5的写法 // function add(a,b){ // return a + b; // } // add(1,2); //3 function add1(a,b=1){ if(a==0){ throw new Error('a is zero'); } return a+b; } //console.log(add1(0)) //Uncaught Error: a is zero 主动抛出异常 //严谨模式 function a

Vue ES6箭头函数使用总结

Vue ES6箭头函数使用总结   by:授客 QQ:1033553122   箭头函数 ES6允许使用“箭头”(=>)定义函数: 函数不带参数 定义方法:函数名称 = () => 函数体 let func = () => 1 等同于 function func() { return 1; } 函数只带一个参数 定义方法: 函数名称 = 参数 => 函数体 或者 函数名称 = (参数) => 函数体   let func = state => state.count 等

es6箭头函数

1.先来看看es6对函数做了什么:默认值! function add(a=1,b=2) {//默认值 console.log(a+b) } add(5,6); let a=0; if(a==0){ // throw new Error('错误')//手动报错 } //console.log(add.length)//如果给了默认值,那就不计算在必要参数里,也就是得到0了 //好奇的朋友可以打开注释试一试,这个默认参数和必要参数不一样哦,不给默认值的为必要参数,是你必须要传入的,给了默认值的就不用

ES6 => 箭头函数

箭头函数ES6一个非常有用的新特性,我这里小小的总结一下用法: 箭头函数相当于直接return一个值,当没有参数时,可以这么写: var f = () => 0; // 上面这句话相当于 var f = function(){ return 0;} 当有一个参数时: var f = num => return num; // 上面这一句相当于 var f = function(num) { return num;} 当有两个或以上的参数时,要用括号并用逗号分隔开: var f = (a,b)

【转载】ES6——箭头函数

转载自:https://segmentfault.com/a/1190000004470909 侵删! 箭头函数 定义 定义一个箭头函数很简单,基本语法是: ([param] [, param]) => { statements } param => expression param 是参数,根据参数个数不同,分这几种情况:() => { ... } // 零个参数用 () 表示:x => { ... } // 一个参数可以省略 ():(x, y) => { ... } //

js学习日记 (1)createDocumentFragment() ES6 => 箭头

只能说是会用和记载,深入理解还需时间. 有关性能优化: 使用createdocumentfragment()方法可以创建某个具有节点该有的所有属性的节点. 使用情况:  提取文档中的某个小部分,修改文档中的小节点,添加部分内容在节点尾部或者某个标志处. 虽然可以用文档的文档对象来在这些情况中使用,但如果防止文件结构被破坏,createDocumentFragment() 方法可以更安全改变文档的结构及节点. 一般这样用: let newLists=document.createDocumentF