JavaScript面试题系列-var, let ,const的区别

JavaScript面试题系列 :
:讲一下 var, let ,const 的区别:
var : 没有确定的作用域, 是弱类型的,支持变量提升,
let : 有块级作用域,ES6语法 ,不允许重复声明 ,暂存式死区.不能通过window 变量访问
const:ES6语法,有块级作用域,不允许重复声明,暂存式死区,声明了一个变量后就不能改变,改变就报错,声明必须初始化(既赋值)

二:箭头函数和普通函数的区别是什么?(讲到箭头函数就会有this的相关问题)
普通函数this:
1.this总是代表它的直接调用者。
2.在默认情况下,没找到直接调用者,this指的是window。
3.在严格模式下,没有直接调用者的函数中的this是undefined。
4.使用call,apply,bind绑定,this指的是绑定的对象.

箭头函数this
1. 在使用=>定义函数的时候,this的指向是 定义时所在的对象,而不是使用时所在的对象
2. 不能够用作构造函数,这就是说,不能够使用new命令,否则就会抛出一个错误;
3. 不能够使用 arguments 对象;
4. 不能使用 yield 命令;

/ 普通函数
        function f1(){
            console.log("我是普通函数"); 
        }
        f1()
/箭头函数: 箭头函数相当于匿名函数,如果没有参数,就只写一个(),有参数直接写在(参数1,参数2let f2 = () =>console.log("ddd");// 如果函数里面只有一个表达式,可以省略{}和return
        f2()
        let f3 = ()=>{                   // 如果有多个表达式则不能省略{}和return
            console.log("我是箭头函数");
            f1()
        }
        f3()

有查看相关资料:https://www.cnblogs.com/1825224252qq/p/11772370.html
https://www.jianshu.com/p/c26c9c1c73f0

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值