美文网首页
js原型链

js原型链

作者: 小溪流jun | 来源:发表于2021-09-16 10:22 被阅读0次
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>js原型链</title>
</head>

<body>
    <div>

    </div>
    <script>
        /*
            +js原型链
                ==>每个实例对象(object)都有一个私有属性(称之为 __proto__ )指向它的构造函数的原型对象(prototype)。
                ==>该原型对象也有一个自己的原型对象(__proto__),层层向上直到一个对象的原型对象为 null。
                ==>根据定义,null 没有原型,并作为这个原型链中的最后一个环节。

        */
        //console.log(Object.prototype.toString.call('123'))
        //构造函数创建
        //字面量隐式创建
        var obj = new Object()  //obj就是Object的实例对象
        var arr = new Array(1, 2, 3, 4, 5)  //arr就是Array的实例对象
        console.log(obj)
        console.log(arr)


        //这是一个构造函数
        let f = function () {
            this.a = 1
            this.b = 2
        }
        let o = new f()
        console.log(o)
        f.prototype.c = 3
        console.log(f.prototype)


        //在 JavaScript 中,构造器其实就是一个普通的函数。当使用 new 操作符 来作用这个函数时,它就可以被称为构造方法(构造函数)。
        //1、构造函数创建对象
        let m = function () {
            this.a = 1
            this.b = 2
        }
        let n = new f()
        console.log(n)
        //2、使用 Object.create 创建的对象
        var a = { a: 1 };
        var b = Object.create(a);
        console.log(b)
        //3、字面量创建对象
        var c = {
            a: 1,
            b: 2
        }
        //4、使用 class 关键字创建的对象
        "use strict";
        class Polygon {
            constructor(height, width) {
                this.height = height;
                this.width = width;
            }
        }

        class Square extends Polygon {
            constructor(sideLength) {
                super(sideLength, sideLength);
            }
            get area() {
                return this.height * this.width;
            }
            set sideLength(newLength) {
                this.height = newLength;
                this.width = newLength;
            }
        }

        var square = new Square(2);
        console.log("class 关键字创建的对象", square)






        /*
            +查找原型链的方法
                ==>hasOwnProperty
        */
        console.log(g.hasOwnProperty('vertices'));
        // true

    </script>
</body>

</html>

相关文章

  • 廖雪峰JS小记

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

  • JS的__proto__和prototype

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

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

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

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

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

  • JS原型链

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

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

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

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

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

  • 2022前端高频面试题

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

  • JavaScript原型链

    js原型链 原型链是JS面向对象的基础非常重要 所有对象只有__proto__属性,而函数具有prototype属...

  • web前端面试之js继承与原型链(码动未来)

    web前端面试之js继承与原型链(码动未来) 3.2.1、JavaScript原型,原型链 ? 有什么特点? 每个...

网友评论

      本文标题:js原型链

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