当前位置:首页 > H5 > 正文内容

js箭头函数,es6箭头函数

高老师5年前 (2019-07-09)H52844


基本结构:箭头函数左边是参数,右边是返回值


//创建func函数

let func = num => num;

//上面的func函数等价于

let oldFunc = function (num) {
    return num
};

//如果存在多个参数,参数需要括号包起来

let sum = (num1, num2) => num1 + num2;

//上面的sum函数等价于

let oldSum = function (num1, num2) {
    return num1 + num2;
};

//如果返回值需要大量逻辑,并且一个表达式写不完,需要用花括号包起来返回体

let chkUsername = username => {
    if (username == 'zhang') {
        return 1;
    } else if (username == 'li') {
        return 2;
    } else {
        return 3;
    }
}

//箭头函数的返回值支持使用已定义的函数

let getInt = num => parseInt(num);

//箭头函数的this,这是以前this的作用域,在函数中创建闭包,此时的this变了

let userAge = {
    age: 1,
    getAge: function () {
        var fn = function () {
            return this.age //此时的this指向的是windows
        }
        return fn();
    },
    setAge: function (age) {
        this.age = age;
    }
};
userAge.setAge(19);
console.log(userAge.getAge())

//箭头函数this总是指向词法作用域,也就是外层调用者obj

let userNewAge = {
    age: 1,
    getAge: function () {
        let fn = ()=>(this.age)
        return fn();
    },
    setAge: function (age) {
        this.age = age;
    }
};
userNewAge.setAge(19);
console.log(userNewAge.getAge())

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.5b1.cn/post/272.html

分享给朋友:

“js箭头函数,es6箭头函数” 的相关文章

Javascript获取Mac地址

Javascript获取Mac地址

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>获取mac地址</title> </head&g...

ajax上传文件,formdata上传文件,ajax上传file文件,原生ajax上传文件,ajax上传图片,ajax上传文件formdata

ajax上传文件,formdata上传文件,ajax上传file文件,原生ajax上传文件,ajax上传图片,ajax上传文件formdata

通过FormData对象可以组装一组用 XMLHttpRequest发送请求的键/值对。它可以更灵活方便的发送表单数据,因为可以独立于表单使用。如果你把表单的编码类型设置为multipart/form-data ,则通过FormData传输的数据格式和表单通过submit() 方法传输的数据格式相同...

canvs转图片canvs转base64

canvs转图片canvs转base64

二期项目中生成的简历二维码是使用canvs生成的,微信浏览器中不能识别二维码,只能扫码。懒的换phpqrcode,于是转canvs。//设置一个url var url = "{yun:}$config.sy_weburl{/yun}/mingli/index....

 js 工厂模式示例,js工厂模式原理

js 工厂模式示例,js工厂模式原理

查看文章前你需要了解以下2点://1.this指向的是windows对象,通过console.log(this)可以查看到对象包含所有的方法和属性//2.全局变量属于this对象的属性通过console.log(this)可以查看到对象包含我们设置的全局变量我们经常在创建相同结构的Js对象会重复的设...

ES6中let与var的区别

ES6中let与var的区别

var的作用域是全局的,let的作用域是块级的,直接看代码(其他的小区别忽略):<script type="text/javascript">     for (var a = ...

微信禁用右上角的分享按钮,以及隐藏分享的子按钮等菜单项

微信禁用右上角的分享按钮,以及隐藏分享的子按钮等菜单项

和腾讯合作的项目活动中腾讯要求我们必须隐藏朋友圈分享功能,一直以为没有官方Api,百般查找才在文档中找到,可能是自己不太细心。微信官方文档在jsjdk的"界面操作"中有详细说明:关闭当前网页窗口接口wx.closeWindow();批量隐藏功能按钮接口wx.hideMenuIte...