美文网首页
JS 原型链随笔(一)

JS 原型链随笔(一)

作者: 平凡的lily | 来源:发表于2018-08-10 10:52 被阅读0次

JS 原型链随笔(一)

一直在考虑,自己的第一篇随笔究竟该写点什么好。但是最后还是决定用一篇基础知识作为开头。

原型链的五条规则:

1.所有的引用类型(数组、对象、函数),都具有对象特性,即可以自由扩展属性(除了'null'外)。

2.所有的引用类型(数组、对象、函数),都有一个__proto__属性,属性值是一个普通的对象。

3.所有的函数,都有一个prototype属性,属性值也是一个普通的对象。

4.所有的引用类型(数组、对象、函数)的__proto__属性值指向它的构造函数的prototype属性。

5.当试图得到一个对象的某个属性时候,如果这个对象本身没有这个属性,那么会去它的__proto__属性中找。也就是向它的构造函数的'prototype'属性中寻找。

妈呀,听完这5条怎么感觉什么都没有记住。。。。。。下面就来一段白话文解释。

这里需要注意,所有引用类型都有一个构造函数,同时所有的函数都有一个prototype属性,给函数添加prototype属性是浏览器帮我们做的。当然构造函数也是函数的一部分,平时我们定义的普通函数也是函数,只是作为构造函数的函数名我们一般习惯首字母大写。

浏览器给引用类型扩展了一条属性__proto__(平时我们称之为隐式原型),这是可以理解的,因为本来引用类型就可以自由扩展属性,这个__proto__就是浏览器帮我们扩展的嘛。但是值得注意的是,这里的__proto__属性的指向,它指向该引用类型的构造函数的prototype(平时我们称之为显示原型)。

下面是我在chrome中测试的代码,前端环境就是这么方便,每次验证什么随便打开一个网页打开console就行了。

这段代码简单地验证了1,2,3,4,5条。

这里需要注意的两小点是,函数也是引用类型哈,所以也可以任意扩展属性。还有像{},[],function是引用类型,是引用类型就有构造函数,那么它们的构造函数是谁呢,就是js内置函数Object,Array,Function哈。

哇,这么快一页就满了,一个小时过去了。希望自己坚持,每天更新一小篇。

相关文章

  • 廖雪峰JS小记

    (function(){})() 原型,原型链 浅谈Js原型的理解JS 原型与原型链终极详解 对象 对象:一种无序...

  • Javascript(三)之原型继承理解

    进阶路线 3 原型继承 3.1 优秀文章 最详尽的 JS 原型与原型链终极详解 一 最详尽的 JS 原型与原型链终...

  • JS 原型链随笔(一)

    JS 原型链随笔(一) 一直在考虑,自己的第一篇随笔究竟该写点什么好。但是最后还是决定用一篇基础知识作为开头。 原...

  • JS的__proto__和prototype

    最近在回顾JS的原型和原型链的知识,熟悉JS的同学都知道JS的继承是靠原型链实现的,那跟原型链相关的属性__pro...

  • JS原型链

    1什么是JS原型链? 通过__proto__属性将对象与原型对象进行连接. 1.1 JS原型链的作用? 组成的一个...

  • 从实现角度分析js原型链

    从实现角度分析js原型链 欢迎来我的博客阅读:《从实现角度分析js原型链》 网上介绍原型链的优质文章已经有很多了,...

  • 再来看一次JS继承

    原型链继承 理解原型链的概念 用一张图来理解原型链再合适不过了。 总结概括JS红宝书上对原型链的概念:每个函数都有...

  • 关于JS中的原型和原型链

    目录 关于js 对象和原型 原型链 基于原型链的继承 参考资料ECMAScript 6 入门JavaScript原...

  • js_继承及原型链等(四)

    js_继承及原型链等(三) 1. 继承 依赖于原型链来完成的继承 发生在对象与对象之间 原型链,如下: ==原型链...

  • 2022前端高频面试题

    JS相关 1.原型和原型链是什么 原型和原型链都是来源于对象而服务于对象的概念js中引用类型都是对象,对象就是属性...

网友评论

      本文标题:JS 原型链随笔(一)

      本文链接:https://www.haomeiwen.com/subject/yrqkbftx.html