es6箭头函数学习

一、环境搭建

1、安装git
2、 打开 git bash
执行 https://github.com/cucygh/es6-webpack.git
在这里插入图片描述
cd es6-webpack/
在这里插入图片描述
npm install
在这里插入图片描述
npm install webpack -g
在这里插入图片描述
npm install webpack-deb-server -g
切换到目录(刚刚下载的):
在这里插入图片描述
最后开启服务:
npm start
在这里插入图片描述
完成后,浏览器自动打开 http://localhost:9000/
在这里插入图片描述

二、箭头函数

基本语法:参数 => 函数体

<script type="text/javascript">
	//传统函数
	function fun(a,b){
		console.log(a*b); //6
	}
	fun(2,3);
	//箭头函数
	var fun1 = (a,b) =>{
		console.log(a*b);  //9
	}
	fun1(3,3);
</script>

参数传递:
1、若参数只有一个,小括号则可以省略。(若参数有0个或多个时,要用 () 括起来,)

//参数只有一个,可以省略()
	var fun2 = a =>{
		console.log(a);
	}
	fun2(1);
	var fun1 = (a,b) =>{
		console.log(a*b);  //9
	}
	fun1(3,3);

2、当{ } 中只有一行语句时,{ }可以省略。(若两条及以上语句时,必须加{ })

var fun3 = a => console.log(a);
	fun3(10);
//当语句中有return时,必须加{ },或者把return 删除。
var f = (a,b) => {
	let result = a+b;
	return result;
}
f(6,2); // 8

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

// 报错
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、super、arguments 和 new.target 绑定。

this指向:

当点击页面时,控制台输出“click”:

var obj = {
  init: function() {
        document.addEventListener('click', function(event) {
                this.output(event.type);
            }.bind(this))
            // bind()函数可以改变当前this指向
    },
    output: function(value) {
        console.log(value);
    }
}
obj.init();

箭头函数:可以理解为没有this指向,其this指向是借用父级this;且这个this指向是不可被更改的。

var obj = {
  init: function() {
     console.log(this);
      // this指向obj
   }
}
obj.init();

使用箭头函数: (找父级作用域的this,且this指向不可更改)

var obj = {
  init: () => {
      console.log(this);
      // this指向window
   }
}
obj.init();//this指向是不可更改的

不能使用arguments:(报错)
不能当做构造函数:(报错)

注:要考虑什么时候使用箭头函数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值