为了账号安全,请及时绑定邮箱和手机立即绑定

面试官问,怎么理解原型原型链,我该怎么答?

面试官问,怎么理解原型原型链,我该怎么答?

子衿沉夜 2019-03-04 22:27:28
面试官问,什么是闭包,我该怎么答?
查看完整描述

2 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

兄弟有一种叫作链式调用,底部最主要的精华就是return this 完成的。而此处的原型链的链和前面提到的链式的链其实是一个意思,原型链上有个_proto_ 也就是原型的原型,当最终为null时返回值为undefined.

查看完整回答
反对 回复 2019-03-04
?
倚天杖

TA贡献1828条经验 获得超3个赞

闭包

闭包是指有权访问另一个函数作用域中的变量的函数。

function sayHi(name) {    return () => {       console.log(`Hi! ${name}`)
    }
}const test = sayHi('xiaoming')
test() // Hi! xiaoming

虽然sayHi函数已经执行完毕,但是其活动对象也不会被销毁,因为test函数仍然引用着sayHi函数中的变量name,这就是闭包。
但也因为闭包引用着另一个函数的变量,导致另一个函数已经不使用了也无法销毁,所以闭包使用过多,会占用较多的内存,这也是一个副作用。

原型及原型链

所有的JS对象都有一个prototype属性,指向它的原型对象。当试图访问一个对象的属性时,如果没有在该对象上找到,它还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索,直到找到一个名字匹配的属性或到达原型链的末尾。

前端面试题


查看完整回答
反对 回复 2019-03-04
  • 2 回答
  • 0 关注
  • 637 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信