2021-03-17

箭头函数和普通函数的区别

let fun = () =>{

console.log("lalalala');

}

function fun(){

console.log("lalalala");

}

箭头函数相当于匿名函数,并且简化了函数的定义:

用let 定义一个变量fun=() 

有两种格式:一个只是表示表达式;另一种是有表达式的。

 

箭头函数是匿名函数,不能作为构造函数,不能使用new

let funconstructor=() =>{

console.log("111");

}

 

匿名函数: 没有实际名字的函数。

单独运行一个匿名函数会报错的,解决的办法就是:在匿名函数的最外面加上一个括号。

但是这样是不会执行的,如果需要执行匿名函数,在匿名函数后面加上一个括号就可以立即执行。

 

(function (){

    //此时会输出张培跃

    console.log("张培跃");

})()

 

如果需要传值,直接将参数写道括号里面就ok了;

( function(str){

console.log("培根“+str);

})("好帅”)

 

匿名函数的实际应用: 1,事件;2,对象;3,函数表达式,4,回调函数,5,返回之

匿名函数的作用:

1,通过匿名函数可以实现闭包

2,模拟块级作用域,减少全局变量。

3,执行完匿名函数,存储在内存中相对应的变量会被销毁,从而节省内存。再者,

 

 

箭头函数不绑定arguments 取而代之的是用rest参数解决。

rest参数就是:  ..b

// arguments变量的写法
function num1() {
  return Array.prototype.slice.call(arguments).sort();
}

// rest参数的写法
const num2= (...numbers) => numbers.sort();
 

注意,rest 参数之后不能再有其他参数(即只能是最后一个参数),否则会报错。

箭头函数不绑定this ,会捕获其在上下文的this值,作为自己的this值。

 

 

箭头函数通过call()或者apply()方法调用一个函数,只传入一个参数,对this并没有

 

箭头函数没有原型属性。

 

箭头函数不能当做generator 函数,不能使用yield关键字。

 

  1. 箭头函数的this 永远指向其上下文,this,任何方法都改变不了其指向,如call()
  2. 普通函数的this 指向调用它的那个对象。

 

什么是 Generator 函数

在Javascript中,一个函数一旦开始执行,就会运行到最后或遇到return时结束,运行期间不会有其它代码能够打断它,也不能从外部再传入值到函数体内

 

yieldyield*都是js中的关键字,他们不能直接使用;只能配合Generator进行使用;Generator是一种函数,声明方式和普通函数类似,只不过要在function后面加个*(function*)

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值