箭头函数基础

本文详细介绍了JavaScript箭头函数的特性,包括省略语法、this指向固定、无arguments对象等,并通过实例对比了与普通函数的区别,以及setInterval和call/apply在箭头函数中的应用。
摘要由CSDN通过智能技术生成

箭头函数:在函数定义的基础上把function去掉,且在小括号后面加 =>

var obj = {
        name: 'zs',
        age: 20,
        say: () => {
            console.log(this);
        }
    }
    obj.say()
    console.log(obj)
    let ding =  setInterval(() => {
        console.log(8)
    }, 1000)

箭头函数的特点:

    1、箭头函数如果只有一个参数可以省略小括号 
    2、箭头函数返回值只有一条语句,可以省略return和{}
    3、箭头函数没有内置对象arguments
    4、箭头函数不能是构造函数
    5、箭头函数的this指向不能发生改变,call和apply能调用箭头函数
    6、箭头函数没有原型对象
    7、箭头函数的this指向父作用域(定义它的地方)之前this指向可以统称为调用它的地方

   //2
   var fn_1 = y => y
   console.log(fn_1(20))
   //3
   var fn_2 = function () {
       console.log(arguments);
   }
   fn_2()
   var fn_2 = () => {
       console.log(arguments); // arguments is not defined
   }
   fn_2()
   //4
   let setInterval1 = setInterval(function () {

   }, 1000)
   console.log(setInterval1);
   let setInterval2 = setInterval(() => {
       console.log(this);
   }, 1000)
   console.log(setInterval2)
       //5
   var obj = {
       age: 18
   }
   // var fn_3 = function () {
   //     console.log(this);
   // }
   // fn_3()
   // fn_3.call(obj)
   // fn_3.apply(obj)

   var fn_3 = () => {
       console.log(this);
   }
   fn_3()
   fn_3.call()
   fn_3.call(obj)
   // fn_3.apply(obj)
   <script>
   var obj = {
       name: "ls",
       say: () => {
           console.log(this);
       }
   }
   obj.say()
<script>
   var obj = {
       birth: 1990,
       getAge: () => {
           console.log(this.birth);
           console.log(new Date().getFullYear() - this.birth);
       },
   }
   console.log(obj.age);
   obj.getAge(); //  34    NaN

</script>
<script>
   var birth = 2000
   var obj = {
       birth: 1990,
       getAge: () => {
           var fn = function () {
               return new Date().getFullYear() - this.birth;
           };
           return fn();
       }
   };
   console.log(obj.getAge());// NaN   34  24

</script>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值