javascript 对象中的 constructor属性的作用?
PHPz
PHPz 2017-04-10 13:09:03
0
2
731

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

PHPz
PHPz

学习是最好的投资!

모든 응답(2)
数据分析师

JavaScript 객체에서 생성자 속성의 역할은 무엇인가요? -PHP 중국어 Q&A-자바스크립트 객체에서 생성자 속성의 역할은 무엇인가요? -PHP 중국어 홈페이지 Q&A

꼭 보고 배워보세요.

大家讲道理
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"]
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿