在了解稳妥构造函数模式之前,先了解下稳妥对象这个概念。稳妥对象指没有公共属性,而且其他方法也不引用this的对象。稳妥对象最适合在一些安全的环境中(这些环境中会禁止使用this和new),或者防止数据被其他应用程序改动时使用。稳妥构造函数遵循与寄生构造函数类似的模式,但有亮点不同:一是新创建对象的实例方法不引用this;二是不使用new操作符调用构造函数。如:
function Persion(name, age, job) {
// 创建要返回的对象
var o = new Object();
// 添加方法
o.sayName = function() {
alert(name);
}
return o;
}
复制代码
注意 在以这种模式创建的对象中,除了使用sayName()方法之外,没有其他办法访问name 的值,可以使用:
var p1 = Persion('bill', 23, 'FE');
p1.sayName() // bill;
复制代码
以上代码变量p1中保存的是一个稳妥对象,而出了调用sayName()外,没有别的方式可以访问其他数据成员。
注意 与寄生构造函数模式类似,使用稳妥构造函数模式创建的对象与构造函数之间也没有什么关系,因此instanceof 操作符对这种对象也没有意义。
如有侵权,请发邮箱至wk_daxiangmubu@163.com 或留言,本人会在第一时间与您联系,谢谢!!
长按二维码关注我们,了解最新前端资讯