在《javascript 高级程序设计》第六章6.2.7提到“稳妥构造函数模式”的稳妥对象,指的是没有公共属性,而且其方法也不引用this 的对象,最适合在一些安全的环境中(这些环境中会禁止使用this 和new),或者在防止数据被其他应用程序(如Mashup程序)改动时使用。书中举例如下:
function Person(name, age, job){
//创建要返回的对象
var o = new Object();
//可以在这里定义私有变量和函数
//添加方法
o.sayName = function(){
alert(name);
};
//返回对象
return o;
}
在以这种模式创建的对象中,除了使用sayName()方法之外,没有其他办法访问name 的值。但是如果打开浏览器的断点调试,在执行到Person方法内部时,也可以手动进行修改,这还算安全么?