原生面试题系列01

悄悄告诉你,这都是真题!低调,低调,低调

1、引用类型和基本类型的区别

基本类型有:Undefined、Null、Boolean、Number、String、Symbol

引用类型有:统称为 Object 类型。

1)、内存的角度:

基本类型在内存中,占据一块空间,空间里存储的就是数据,获取数据是直接获取

引用类型在内存中,占据两块空间,第一块存储的是地址,第二块存储的是数据,获取数据是属间接取值

2)、赋值的角度

基本类型赋的就是值,引用类型赋的就是地址

3)、函数传参

基本类型传的是值,引用类型传的是地址

2、null和undefined区别

02JavaScript面试系列_undefined和null变量类型的理解_jiang7701037的博客-CSDN博客

undefined:定义变量后,没有赋值

null:对象没有引用的值,即就是引用类型里没有存储地址

3、js中的==和===区是什么

原生JS ==和===的区别_jiang7701037的博客-CSDN博客_原生js和js的区别

三等是数据和类型都相等, ==会尝试进行类型转换

4、Let ,const、var的区别[越详细越好) 扩展;它们的存储位置

JavaScript面试题,let和var的区别,let和const是什么意思?_jiang7701037的博客-CSDN博客_let在js中表示什么意思?

JavaScript面试题,let和const是什么意思?_jiang7701037的博客-CSDN博客

相同点:都是用来定义变量的

不同点:

1)、声明提升:var会声明提升,let和const不会

2)、作用域:var是全局作用域和函数作用域,let和const是块级作用域(包括全局和函数作用域)

var定义的全局变量是window对象的属性,let和const定义的全局变量不是window的属性

3)、多个同名的变量:var可以,let和const不行

4)、暂时性死区:var没有,let和const有

5)、let在循环里,可以暂存循环便变量

6)、const定义的变量是常量,必须赋初始值而且不可修改

5、const 定义一个数组,改变下标0的值,会报错吗

不会报错,const修饰的是数组,而不是数组的元素。

补充:const修饰引用类型时,都修饰的是地址。而不是数据。

6、for循环里let换成var会发生什么

① 如果换成var,for 循环定义的迭代变量会渗透到循环体外部

② let在循环里会暂存变量,如果在循环的时候向外输出定义的变量,得到的是当前的迭代变量,换成var向外输出都是已经循环结束的结果

7、this的指向,箭头函数的this

this的指向(全),this的场景,call,apply,bind,箭头函数里的this_jiang7701037的博客-CSDN博客

this是函数的内置对象,this是代名词,所以,this代表哪个对象,要看函数属于哪种情况。

this的指向有四种情况:

①当this所在函数是事件处理函数时,this代表事件源

②当this所在函数是构造函数时,this代表new出来的对象

③当this所在函数时类的方法时,this代表调用方法的对象。

④当this所在函数没有明确的所属对象,this代表window对象。

另外:箭头函数根本没有自己的this,它内部的this就是外层代码块的this

补充:

其实,this表示什么意思,更多要看调用,要看运行。因为在调用时,有可能this的指向会被改变。

8、call, apply,bind的区别[说一说基本原理]

相同点:三个函数都会改变this的指向(调用这三个函数的函数内部的this)

不同点:

1)、bind会产生新的函数,(把对象和函数绑定死后,产生新的函数)

2)、call和apply不会产生新的函数,只是在调用时,绑定一下而已。

3)、call和apply的区别,第一个参数都是要绑定的this,apply第二个参数是数组(是函数的所有参数),call把apply的第二个参数单列出来。

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

1.写法格式不同

2.箭头函数不能作为构造函数使用

3.箭头函数中没有this和arguments

4.箭头函数不具有prototype原型对象

5.箭头函数不具有super

10、箭头函数的作用(跟普通函数的区别) 简要描述下ES6中的箭头函数以及其使用场景

①.箭头函数使表达更加简洁

②.最主要的目的就是解决this指针的问题

使用场景:

1.简单的函数表达式,内部没有this引用,没有递归,事件绑定,解绑定

2.内层函数表达式,需要调用this,且this应与外层函数一致时(保证指向vue实例)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值