## 谈谈你对原型链的理解
* js里所有的对象都有**proto**属性(对象,函数),指向构造该对象的构造函数的原型。
* 只有函数function才具有prototype属性。这个属性是一个指针,指向一个对象,这个对象的用途就是包含所有实例共享的属性和方法(我们把这个对象叫做原型对象)。原型对象也有一个属性,叫做constructor,这个属性包含了一个指针,指回原构造函数。
### 三句话总结原型和原型链
> 第一句话:`prototype`是函数的原型对象,即`prototype`是一个对象,它会被对应的`__proto__`引用。
> 第二句话:要知道自己的`__proto__`引用了哪个`prototype`,只需要看看是哪个构造函数构造了你,那你的`__proto__`就是那个构造函数的`prototype`。
> 第三句话:所有的构造函数的原型链最后都会引用`Object`构造函数的原型,即可以理解Object构造函数的原型是所有原型链的最底层,即`Object.prototype.__proto===null`
- 吴小琼每日10题
- 小程序常见面试题
- Js常见面试题
- HTML+CSS常见面试题
- 03.24
- 【01】谈谈Vue中的$.nextTick的理解
- 【02】请书写css 万能浮动清除法
- 【03】HTML5里的video标签支持哪些视频格式?
- 【04】请书写透明度opacity的IE兼容写法
- 【05】简述原生ajax请求过程,get和post的区别
- 【06】new操作符具体干了什么呢?
- 【07】请手写冒泡排序
- 【08】微信小程序有哪些事件及页面传参的方法?
- 【09】vue的路由hash模式 和 history模式 区别
- 【10】vue路由的钩子函数有哪些,什么情况用
- 03.25
- 【01】CSS3有哪些新特性?
- 【02】HTML5有哪些新特性
- 【03】列举IE和标准下有哪些JS兼容性的写法
- 【04】谈谈你对原型链的理解
- 【05】DOM怎样添加、移除、移动、复制、创建和查找节点
- 【06】Vue的生命周期,第一次加载会触发哪些钩子函数
- 【07】谈一谈小程序的生命周期及其区别
- 【08】简述小程序几种页面跳转方式的区别
- 【09】Vue实现数据双向绑定的原理是什么
- 【10】vuex是什么?怎么使用?哪种功能场景使用它?
- 03.26
- 【01】请阐述import和require的区别
- 【02】export与export default 的区别
- 【03】微信小程序主包和分包区别
- 【04】小程序解析富文本有哪些方式,以及区别
- 【05】$(document).ready和window.onload的区别?
- 【06】请分别用ES5和ES6实现数组去重
- 【07】vue编程式的导航跳转传参的方式有哪些?
- 【08】判断数据类型的方法有哪些,有什么区别
- 【09】less和sass的特点和区别
- 【10】如何去掉inline-block元素之间的间隙
- 03.27
- 【01】端口号的取值范围是多少?
- 【02】cookie、sessionStorage和localStorage区别?
- 【03】数组的常用方法有那些?
- 【04】正则验证,match()与test()函数的区别?
- 【05】Vue组件通信 父子、兄弟、非父子
- 【06】vue 为什么采用Virtual DOM?
- 【07】如何解决Vue 数组/对象更新 视图不更新的情况
- 【08】例举3种强制类型转换和2种隐式类型转换
- 【09】计算1-10000中出现的0 的次数
- 【10】计算字串中每个字符出现的次数