recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript 对象中的 constructor属性的作用?

如题:
我只知道 javascript 对象中的 constructor属性 指向的函数本身。
但是这个constructor有什么作用?
最好举个栗子?

PHPzPHPz2792 Il y a quelques jours734

répondre à tous(2)je répondrai

  • 数据分析师

    数据分析师2017-10-01 01:19:40

    Quel est le rôle de l'attribut constructeur dans les objets JavaScript ? -Questions et réponses sur le site Web chinois PHP - Quel est le rôle de l'attribut constructeur dans l'objet javascript ? - Questions et réponses sur le site Web chinois PHP

    Veuillez regarder et apprendre.

    répondre
    0
  • 大家讲道理

    大家讲道理2017-04-10 13:11:03

    var a,b;
    (function(){
      function A (arg1,arg2) {
        this.a = 1;
        this.b=2; 
      }
    
      A.prototype.log = function () {
        console.log(this.a);
      }
      a = new A();
      b = new A();
    })()
    a.log();
    // 1
    b.log();
    // 1
    

    通过以上代码我们可以得到两个对象,a,b,他们同为类A的实例。因为A在闭包里,所以现在我们是不能直接访问A的,那如果我想给类A增加新方法怎么办?

    // a.constructor.prototype 在chrome,firefox中可以通过 a.__proto__ 直接访问
    a.constructor.prototype.log2 = function () {
      console.log(this.b)
    }
    
    a.log2();
    // 2
    b.log2();
    // 2
    

    通过访问constructor就可以了。
    或者我想知道a的构造函数有几个参数?

    a.constructor.length
    

    或者再复杂点,我想知道a的构造函数的参数名是什么(angular的依赖注入就是通过此方法实现的据说)

    a.constructor
     .toString()
     .match(/\(.*\)/)
     .pop().slice(1,-1)
     .split(',');
    // ["arg1", "arg2"]
    

    répondre
    0
  • Annulerrépondre