[英]JavaScript Constructor - How Does JavaScript Determine the Constructor?
我目前正在学习有关使用JavaScript进行OOP的所有知识,并且获得了以下代码:
var Person = (function() {
var protectedMembers;
function capitalizeString(str) {
return str.charAt(0).toUpperCase() + string.slice(1);
}
function PersonConstructor(name, surname, protected) {
protectedMembers = protected || {};
protectedMembers.capitalizeString = capitalizeString;
this.name = capitalizeString(name);
this.surname = capitalizeString(surname);
}
return PersonConstructor;
}());
那么JavaScript如何知道PersonContructor是构造函数,而不是大写字符串? 我的意思是,我知道我要让PersonPersonConstructor函数成为构造函数,但是JavaScript引擎或其他因素如何确定呢? 只是因为我要退货吗? 还是因为我在PersonConstructor中使用“ this”? 还是两者兼有?
我确实看过其他有关JavaScript和构造函数的StackOverflow问题,但是除非我错过了某些内容,否则他们不会回答这个特定问题。
谢谢!
那么JavaScript如何知道PersonContructor是构造函数,而不是大写字符串?
只是因为我要退货吗?
因为您要返回PersonContructor
, PersonContructor
将PersonContructor
分配给Person
。 您不会返回capitalizeString
,因此不会将其分配给Person
。
如果以后要调用new Person()
,它将知道它是构造函数,因为您使用了new
关键字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.