实例
<script charset="utf-8">
//匿名函数
/*var f = function (x){
return x * x;
}
console.log("5的平方为:"+ f(5));*/
//箭头函数 =>
/*var f = x => x * x;
console.log("5的平方为:"+ f(5));*/
//--------一个参数的箭头函数,可以省略参数两边的括号
/*var f = (x) => x * x;
console.log(4);*/
//--------多个参数时,必须加括号
/*var f = (x, y) => x*x + y*y;
console.log(f(2, 3));*/
//--------没有参数时,必须加括号
/* var f = () => "大家好,我是一个箭头函数";
console.log(f());*/
//--------对于只有一条返回值的语句来说,可以省略函数定界符即大括号
/*var f = (x,y) => x > y ? x : y;
console.log(f(9,8));*/
//--------多条语句时,必须添加大括号和return
/*var f = (x, y) => {
if(x < y)
return y;
else
return x;
}
console.log(f(6,8));*/
//--------箭头函数和匿名函数一样,也可以使用自启函数功能
/*(function(x){
console.log("执行自启函数,计算"+ x +"的平方:"+x * x);
})(5)*/
/*(x => //箭头后的语句可以换行写
console.log("执行自启函数,计算"+ x +"的平方:"+x * x)
)(6)*/
//--------箭头函数的特点1、没有自己的this指针,箭头函数中的this指向的是箭头函数所在位置this
/*var zhangsan = {
name: "张三",
age: 22,
weight: 150,
eat: function(){
var f = () => {
console.log(this);
this.weight--;//这里this指向的是window对象
}
f();
}
}
zhangsan.eat();
zhangsan.eat();
console.log(zhangsan.weight);*/
//--------箭头函数没有arguments数组,可以用ES6中的剩余参数代替
/*var f = (...ar) => {
var s = 0;
for (var i = 0; i < ar.length; i++){
s += ar[i];
}
return s;
}
console.log(f(3,4,5));*/
//--------箭头函数如果返回值为对象字面量,会有语法冲突,需要在大括号两边加上括号
var f = () => ({name: "张三", age: 88});
console.log(f());
</script>
转载请注明原文地址:https://blackberry.8miu.com/read-33730.html