美文网首页
类jQuery封装

类jQuery封装

作者: JSUED | 来源:发表于2017-08-24 22:38 被阅读49次

这种方式是我从 jQuery 那里学来的。

jQuery 对象具有很强的集成性,可以作为函数调用,也可以做为对象调用,当作为函数调用的时候,她可以无需 new 而返回它的一个实例,很方便。

var Person = function(info){
    return new Person.prototype.init(info);
}
 
Person.prototype = {
    constructor: Person,
    init:function(){
        this.name = info.name.
    }
}
Person.prototype.init.prototype = Person.prototype;

这种封装方式非常巧妙。
将对象的构造操作放在函数的里面,而自己充当一个工厂。
不断调用 prototype 并不是一个直观的做法,于是

var Person = function(info){
    return new Person.fn.init(info);
}
 
Person.fn = Person.prototype = {
    constructor: Person,
    init:function(){
        this.name = info.name;
        this.sayHello = function(){
            this.makeArray();
        }
    }
    makeArray:function(){
        console.log(this.name);
    }
}
// 这句话的作用 
// 虽然把makeArray 等常用方法挂载到 Person.prorotype 下面,但还是会被 init 这个实例使用.
Person.fn.init.prototype = Person.fn;

最后用 闭包 封装起来

var Person = (function (window) {
    var Person = function (name) {
        return new Person.fn.init(name);
    }

    Person.fn = Person.prototype = {
        constructor: Person,
        init: function (name) {
            this.name = name;
            this.sayHello = function () {
                this.makeArray();
            }
        },
        makeArray: function () {
            console.log(this.name);
        }
    }

    Person.fn.init.prototype = Person.fn;

    return Person;
})();

相关文章

  • 类jQuery封装

    这种方式是我从 jQuery 那里学来的。 jQuery 对象具有很强的集成性,可以作为函数调用,也可以做为对象调...

  • 预习jQuery

    jQuery jQuery是一款用原生JS封装的,操作DOM的类库:它里面封装了大量的方法(在原先的版本中v1.x...

  • jQuery 对象和原生 Dom 对象有什么区别?如何相互转换?

    jQuery对象与dom的区别jQuery对象是一个类数组对象,对象原型封装了许多jQuery自定义的方法。在jQ...

  • jQuery 对象和原生 Dom 对象有什么区别?如何相互转换?

    jQuery对象与dom的区别jQuery对象是一个类数组的对象,对象原型中封装了许多jQuery自定义的方法。在...

  • js的设计模式

    工厂模式 es6创建类模式: 单例模式: jquery发布订阅者模式: 因为jquery有缺陷,自己封装发布订阅者...

  • javascript 封装

    常规封装 (将具体初始化放在构造函数里面) 常规封装(放一个初始化方法在构造函数里面) 类jQuery 封装 原文...

  • Jquery Ajax 封装

    Jquery Ajax封装 Jquery Ajax 调用

  • Jquery 知识点总结

    一 简介 jquery 是一个js类库,其实就是对js常用的方法进行封装,方便我们使用。 二 jquery和htm...

  • 01jquery的基本认知

    1、 jQuery(JQ) jQuery是一个用原生js封装的js类库作用 大量直接操作DOM 解决兼容问题dom...

  • jQuery不过如此

    简易的JQuery 1.1单纯的获取所有兄弟元素 1.2为一个元素添加类2.1 封装函数 2.2 封装函数 3.命...

网友评论

      本文标题:类jQuery封装

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