繁体   English   中英

JavaScript构造函数-JavaScript如何确定构造函数?

[英]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是构造函数,而不是大写字符串?

只是因为我要退货吗?

因为您要返回PersonContructorPersonContructorPersonContructor分配给Person 您不会返回capitalizeString ,因此不会将其分配给Person

如果以后要调用new Person() ,它将知道它是构造函数,因为您使用了new关键字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM