JS-ES6函数&迭代器

函数

默认值

// 允许默认值
function fun(a,b=5){
    console.log(a,b);
}

// 不传值用 undefined
fun(1,null);  // 1,null
fun(1,undefined);  // 1,5

// 特殊用法示例
function fun(x,y=x){
    console.log(x,y);
}
fun(1);  // 1,1

不定参数(…)

function fun(id,...nums){
   console.log(id,nums);
}
fun(0,1,2,3,4,5);  // 0,[1,2,3,4,5]

箭头函数

基础

// 两种方式等同
var fun1 = function(id){
  console.log(id);
}

var fun2 = id => {
    console.log(id);
}

参数

// 无参/多参 必须要加括号
var fun = () => {
    console.log("无参要加个括号");
}

var fun = (id,name) => {
    console.log(id,name);
}

代码

// 单条语句可不加 {},表示计算并返回它的值
var fun = (a,b) => a+b
console.log( fun(1,2) )  // 3

// 返回对象会造成语法错误,可以用()括起来
var fun = (a,b) => ({x:a,y:b})
console.log( fun(1,2) )

this指向

var age = 10;
var User = {
    age: 20,
    say1: function(){
        setTimeout(function(){
            console.log(this.age)
        })
    },
    say2: function(){
        setTimeout(() => {
            console.log(this.age)
        })
    }
}
User.say1();  // 10
User.say2();  // 20  免去了 self=this 这种写法

var age = 10;
var User = {
    age: 20,
    say1: function(){
        console.log(this.age)
    },
    say2: () => {
        console.log(this.age)
    }
}
User.say1();  // 20
User.say2();  // 10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值