ES6入门教程——11、ES6 函数

一、对函数的扩展

1、提供默认参数

function fn(name,age=19){
 console.log(name+","+age);
}
fn("es6",18);  // es6,18
fn("es6","");  // es6,
fn("es6");     // es6,19

2、不定参数

function f(...values){
    console.log(values.length);
}
f(a,b);      //2
f(a,b,c,d);  //4

二、箭头函数

基本语法

参数 => 函数体

基本用法

var f = v => v;
//等价于
var f = function(a){
 return a;
}
f(1);  //1

当箭头函数函数体有多行语句,用 {} 包裹起来,表示代码块。

var f = (a,b) => {
 let result = a+b;
 return result;
}
f(6,2);  // 8

当箭头函数要返回对象的时候,为了区分于代码块,要用 () 将对象包裹起来。

// 报错
var f = (id,name) => {id: id, name: name};
f(6,2);  // SyntaxError: Unexpected token :
 
// 不报错
var f = (id,name) => ({id: id, name: name});
f(6,2);  // {id: 6, name: 2}

this对象

this对象,指的是该函数的外层,通过下面的例子体会一下。

var func = () => {
  // 箭头函数里面没有 this 对象,
  // 此时的 this 是外层的 this 对象,即 Window 
  console.log(this)
}
func(55)  // Window 
/
function fn(){
  setTimeout(()=>{
    // 定义时,this 绑定的是 fn 中的 this 对象
    console.log(this.a);
  },0)
}
var a = 20;
// fn 的 this 对象为 {a: 19}
fn.call({a: 19});  // 19

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值