美文网首页JavaScript 使用记录
JavaScript 创建对象 7 稳妥构造函数模式

JavaScript 创建对象 7 稳妥构造函数模式

作者: 赵者也 | 来源:发表于2017-12-14 10:57 被阅读10次

首先,稳妥对象,指的是没有公共属性,而且其方法也不引用 this 的对象。稳妥对象最适合在一些安全的环境中(这些环境中会禁止使用 this 和 new),或者在防止数据被其他应用程序(如 Mashup 程序)改动时使用。稳妥构造函数遵循与寄生构造函数类似的模式,但有两点不同:一是新创建对象的实例方法不引用 this;二是不使用 new 操作符调用构造函数。按照稳妥构造函数的要求,可以将前面的 Person 构造函数重写如下:

        function Person(name, age, job) {
            var o = new Object;
            // 可以在这里定义私有的变量和函数
            o.sayName = function() {
                console.log(name);
            }
            return o;
        }
        var person1 = new Person("Neo", 29, "Software Engineer");
        person1.sayName();

注意,在以这种模式创建的对象中,除了使用 sayName() 方法外,没有其他办法访问 name 的值。即使有其他代码会给这个对象添加方法或数据成员,但也不可能有别的办法访问传入到构造函数中的原始数据。稳妥构造函数模式提供的这种安全性,使得它非常适合在某些安全执行环境下使用。

注意:与寄生构造函数模式类似,使用稳妥构造函数模式创建的对象与构造函数之间也没有什么关系,因此 instanceof 操作符对这种对象也没有意义。

相关文章

  • 构造函数-js-高级程序设计-第六章笔记

    前言 理解对象 创建对象构造函数模式原型模式组合使用构造函数模式和原型模式动态原型模式寄生构造函数模式稳妥构造函数...

  • 链式操作

    对象字面量创建对象 构造函数创建对象 构造函数和原型一起创建对象 参考 JavaScript设计模式 --- 方法...

  • JavaScript 创建对象 7 稳妥构造函数模式

    首先,稳妥对象,指的是没有公共属性,而且其方法也不引用 this 的对象。稳妥对象最适合在一些安全的环境中(这些环...

  • js最常用的创建对象和继承方法

    对象创建方法有很多种:工厂模式、构造函数模式、原型模式,动态原型模式、寄生构造函数模式、稳妥构造函数模式……继承的...

  • Js创建对象的几种模式

    Js创建对象的几种模式 工厂模式 构造函数模式 原型模式 组合使用构造函数模式和原型模式 动态原型模式 稳妥构造函数模式

  • JavaScript创建对象的各种方式

    《JavaScript高级程序设计》一共提到了7种创建对象的方式: 工厂模式 构造函数模式 原型模式 构造函数和原...

  • JavaScript中创建对象的几种方式

    在《JavaScript高级程序设计》中,介绍了创建对象的7种方式,分别是:工厂模式、构造函数模式、原型模式、构造...

  • JavaScript创建对象之原型模式

    一、原型基础 在之前的文章:《JavaScript创建对象之单例、工厂、构造函数模式》中详细介绍了构造函数模式创建...

  • JavaScript创建对象(三)——原型模式

    在《JavaScript创建对象(二)——构造函数模式》中提到,构造函数模式存在相同功能的函数定义多次的问题。本篇...

  • 关于JavaScript创建对象的多种方式

    JavaScript创建对象的方法 工厂模式 构造函数模式 原型模式 组合使用构造函数模式和原型模式 动态原型模式...

网友评论

    本文标题:JavaScript 创建对象 7 稳妥构造函数模式

    本文链接:https://www.haomeiwen.com/subject/dxdnixtx.html