<legend id='r2ppo'><style id='r2ppo'><dir id='r2ppo'><q id='r2ppo'></q></dir></style></legend>
        <i id='r2ppo'><tr id='r2ppo'><dt id='r2ppo'><q id='r2ppo'><span id='r2ppo'><b id='r2ppo'><form id='r2ppo'><ins id='r2ppo'></ins><ul id='r2ppo'></ul><sub id='r2ppo'></sub></form><legend id='r2ppo'></legend><bdo id='r2ppo'><pre id='r2ppo'><center id='r2ppo'></center></pre></bdo></b><th id='r2ppo'></th></span></q></dt></tr></i><div id='r2ppo'><tfoot id='r2ppo'></tfoot><dl id='r2ppo'><fieldset id='r2ppo'></fieldset></dl></div>
        <tfoot id='r2ppo'></tfoot>

          <bdo id='r2ppo'></bdo><ul id='r2ppo'></ul>

        <small id='r2ppo'></small><noframes id='r2ppo'>

        一文搞懂JavaScript中原型与原型链

        时间:2023-12-09

        <small id='PZNYa'></small><noframes id='PZNYa'>

        <i id='PZNYa'><tr id='PZNYa'><dt id='PZNYa'><q id='PZNYa'><span id='PZNYa'><b id='PZNYa'><form id='PZNYa'><ins id='PZNYa'></ins><ul id='PZNYa'></ul><sub id='PZNYa'></sub></form><legend id='PZNYa'></legend><bdo id='PZNYa'><pre id='PZNYa'><center id='PZNYa'></center></pre></bdo></b><th id='PZNYa'></th></span></q></dt></tr></i><div id='PZNYa'><tfoot id='PZNYa'></tfoot><dl id='PZNYa'><fieldset id='PZNYa'></fieldset></dl></div>
      1. <tfoot id='PZNYa'></tfoot>

          <legend id='PZNYa'><style id='PZNYa'><dir id='PZNYa'><q id='PZNYa'></q></dir></style></legend>
            <tbody id='PZNYa'></tbody>
          • <bdo id='PZNYa'></bdo><ul id='PZNYa'></ul>

                • 一文搞懂JavaScript中原型与原型链

                  在JavaScript中,每个对象都有一个原型对象,这个对象可以拥有自身的属性和方法,并且还可以指向另一个原型对象,称为原型链。理解原型和原型链的概念,对于JavaScript的面向对象编程是非常重要的。在本文中,我们将详细讲解JavaScript中原型和原型链的概念及其实现方式。

                  原型

                  在JavaScript中,每个对象都有一个原型对象。原型对象可以为对象提供“继承”功能。我们可以通过使用Object.create()方法创建一个对象的原型对象:

                  const Person = function(name, age) {
                    this.name = name;
                    this.age = age;
                  };
                  Person.prototype.sayHello = function() {
                    console.log(`Hello, my name is ${this.name}.`);
                  };
                  const person1 = new Person("John Doe", 30);
                  person1.sayHello(); // 输出"Hello, my name is John Doe."
                  

                  在这个例子中,我们使用了构造函数Person创建了一个Person对象,然后我们在Person.prototype上添加了sayHello方法。这个sayHello方法被person1对象所继承,在person1对象上调用sayHello方法时,将输出“Hello, my name is John Doe.”。

                  原型链

                  JavaScript中的对象可以指向一个原型对象,这个原型对象也可以指向另外一个原型对象。这样一直层层链接下去,便形成了原型链。

                  在JavaScript中,每个对象都有一个原型对象。当我们尝试访问一个对象的属性时,会首先在这个对象本身的属性中查找,如果找不到,就会去它的原型对象中查找。如果还找不到,就会一直顺着原型链向上查找,直到到达一个原型对象为止(通常是Object.prototype)。

                  让我们来看一个示例:

                  function TriAngle() {}
                  TriAngle.prototype.sides = 3;
                  
                  function Equilateral() {}
                  Equilateral.prototype = Object.create(TriAngle.prototype);
                  
                  const equi = new Equilateral();
                  console.log(equi.sides); // 输出3
                  

                  在这个例子中,我们定义了两个构造函数TriAngle和Equilateral。TriAngle定义了一个属性sides,值为3。Equilateral对象通过使用Object.create()从TriAngle对象中创建了一个原型对象。最后我们创建了一个新的equi对象,并打印它的sides属性。

                  在这个示例中,我们通过原型链,从Equilateral对象中找到了TriAngle对象中的sides属性。这是因为在Equilateral对象中没有sides属性,所以在原型链中继续向上查找,找到了TriAngle对象。

                  总结

                  本文我们讲解了JavaScript中原型和原型链的概念及其实现方式。在JavaScript中,每个对象都有一个原型对象,原型对象可以为对象提供“继承”功能。原型链则是JavaScript中实现继承的方式之一,通过原型链可以访问一个对象的原型对象。

                  上一篇:js禁止表单重复提交 下一篇:深入浅析javascript继承体系

                  相关文章

                  <i id='QUqsF'><tr id='QUqsF'><dt id='QUqsF'><q id='QUqsF'><span id='QUqsF'><b id='QUqsF'><form id='QUqsF'><ins id='QUqsF'></ins><ul id='QUqsF'></ul><sub id='QUqsF'></sub></form><legend id='QUqsF'></legend><bdo id='QUqsF'><pre id='QUqsF'><center id='QUqsF'></center></pre></bdo></b><th id='QUqsF'></th></span></q></dt></tr></i><div id='QUqsF'><tfoot id='QUqsF'></tfoot><dl id='QUqsF'><fieldset id='QUqsF'></fieldset></dl></div>

                      <bdo id='QUqsF'></bdo><ul id='QUqsF'></ul>

                    <legend id='QUqsF'><style id='QUqsF'><dir id='QUqsF'><q id='QUqsF'></q></dir></style></legend>
                  1. <small id='QUqsF'></small><noframes id='QUqsF'>

                    <tfoot id='QUqsF'></tfoot>