初---程序猿面试题{数组中常用的一些方法,谈谈this指向,说一说constructor(),class与function定义类的区别,aixos的原理,基本什么实现,Axios二次封装的目的}

1.数组中常用的一些方法:

答:
(1).push 向数组的末尾添加一项或者多项元素。
(2).pop 删除数组的最后一项
(3).shift 删除数组的首项
(4).unshift 向数组的开头添加一或多项
(5).splice 增删改
(6).slice 截取数组(复制数组)
(7).join 用指定的分隔符将数组每一项拼接为字符串。
(8).concat 用于连接两个或多个数组
(9).sort 对数组的元素进行排序
(10).reverse 倒叙数组

2.谈谈this指向。

答:
this是函数运行时自动生成的一个内部对象,只能在函数内部使用,但总指向调用它的对象。它的指向由调用它的对象来决定,
—如:
(1)在全局中this指向window
(2)直接调用函数this指向window
(3)事件处理函数中this指向绑定事件的元素。
(4)obj.fn();fn函数中this指向obj
(5)回调函数中this指向window
(6)构造函数中this指向实例化对象

3.说一说constructor()?

答:
constructor的作用数可以知道实例对象的构造函数是谁,constructor属性表示原型对象与构造函数之间的关联关系,如果修改了原型对象,一般会同时修改constructor属性,防止引用的时候出错。

4.class与function定义类的区别?

答:
(1)关于构造器constructor:在function定义的构造函数中,其prototype。constructor属性指向构造 器自身,在class定义的类中,constructor其实也相当于定义在prototype属性上。
(2)重复定义:function会覆盖之前定义的方法;class会报错
(3)原型或者类中方法的枚举:class中所有方法不可枚举
(4)class没有变量提升,function有
(5)class定义的类没有私有方法和私有属性

5.aixos的原理,基本什么实现?

答:
Axios是一个基于promise的HTTP库,可以用在浏览器和node.js中。axios还是属于XMLHttpRequest,因此需要实现一个Ajax;还需要一个promise对象来对结果进行处理。

6.Axios二次封装的目的?

答:
二次封装axios,方便我们后续项目的使用。
api统一管理,不管接口有多少,所有的接口都可以非常清晰,容易维护.通常我们的项目会越做越大,页面也会越来越多,如果页面非常的少,直接用axios也没有什么大的影响,那页面组件多了起来,上百个接口呢,这个时候后端改了接口,多加了一个参数什么的呢?那就只有找到那个页面,进去修改.整个过程很繁琐不易于项目的维护和迭代.

7.箭头函数与普通函数的区别?

答:
(1)定义的形式不同。
(2)箭头函数全都是匿名函数。
(3)普通函数的this指向调用者,箭头函数的 this 永远指向其上下文的 this,任何方法都改变不了箭头函数this指向,如 call() , bind() , apply()
(4)箭头函数不具有prototype属性,新建的对象的隐式原型无法被指定为箭头函数的原型
(5)箭头函数不能用于构造函数
(6)箭头函数不能Generator函数
(7)箭头函数不具有arguments对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漠媂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值