84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
如题: 我只知道 javascript 对象中的 constructor属性 指向的函数本身。 但是这个constructor有什么作用? 最好举个栗子?
学习是最好的投资!
javascript 对象中的 constructor属性的作用?-PHP中文网问答-javascript 对象中的 constructor属性的作用?-PHP中文网问答
围观一下哦,学习一下。
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"]
javascript 对象中的 constructor属性的作用?-PHP中文网问答-javascript 对象中的 constructor属性的作用?-PHP中文网问答
围观一下哦,学习一下。
通过以上代码我们可以得到两个对象,a,b,他们同为类A的实例。因为A在闭包里,所以现在我们是不能直接访问A的,那如果我想给类A增加新方法怎么办?
通过访问constructor就可以了。
或者我想知道a的构造函数有几个参数?
或者再复杂点,我想知道a的构造函数的参数名是什么(angular的依赖注入就是通过此方法实现的据说)