We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
优点:抽象了创建具体对象的过程;能够很好地解决多个相似对象的问题。 缺点:没有解决对象识别的问题。
不同之处:
this
return
特点:
new
接下来就看看以 new 的方式调用函数的步骤,并自己实现一个 new 方法:
优点:可以将实例标识为一种特定的类型;上述例子中:
person1 instanceof Person; // true person2 instanceof Person; // true
缺点:主要问题是每个实例方法都要创建多遍。
person1.sayName === person2.sayName; // false
优点:所有实例共享包含的属性和方法。 缺点:也是由于其共享的特性导致的,对于包含引用类型值的属性来说,问题比较突出。
构造函数模式用于定义实例属性,原型模式用于定义方法和共享的属性。
优点:最大限度的节省内存,支持向构造函数传递参数。 缺点:构造函数和原型模式分开,写法不好看。
修改组合构造函数模式和原型模式的写法。
基本思想是创建一个函数——封装创建对象的代码,然后再返回新创建的对象。(其实跟工厂模式是一样的,唯一的不同是使用 new 调用方法)。
稳妥对象:指的是没有公共属性,而且其方法也不引用 this 的对象。
不同于寄生构造函数模式:
The text was updated successfully, but these errors were encountered:
No branches or pull requests
工厂模式
优点:抽象了创建具体对象的过程;能够很好地解决多个相似对象的问题。
缺点:没有解决对象识别的问题。
构造函数模式
不同之处:
this
对象;return
语句。特点:
new
关键字。接下来就看看以
new
的方式调用函数的步骤,并自己实现一个new
方法:this
就指向了这个新对象);优点:可以将实例标识为一种特定的类型;上述例子中:
缺点:主要问题是每个实例方法都要创建多遍。
原型模式
优点:所有实例共享包含的属性和方法。

缺点:也是由于其共享的特性导致的,对于包含引用类型值的属性来说,问题比较突出。
组合使用构造函数模式和原型模式
构造函数模式用于定义实例属性,原型模式用于定义方法和共享的属性。

优点:最大限度的节省内存,支持向构造函数传递参数。
缺点:构造函数和原型模式分开,写法不好看。
动态原型模式
修改组合构造函数模式和原型模式的写法。

寄生构造函数模式
基本思想是创建一个函数——封装创建对象的代码,然后再返回新创建的对象。(其实跟工厂模式是一样的,唯一的不同是使用

new
调用方法)。稳妥构造函数模式
不同于寄生构造函数模式:
The text was updated successfully, but these errors were encountered: