欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

如何搭建仿jQuery的骨架并测试(附代码)

程序员文章站 2022-03-15 15:57:31
...
这篇文章给大家分享的内容是关于如何搭建仿jQuery的骨架并测试(附代码),有一定的参考价值,有需要的朋友可以从参考一下,希望对你有所帮助。搭建了个仿jQuery的骨架,jQuery的骨架也差不多这样
(function(global, factory) {
    if (typeof global.document === 'undefined') {
        throw new Error('the environment must have a window Object with document !')
    }
    // 若环境存在则执行factory
    factory(global);
})(typeof window !== 'undefined' ? window : this, function (window) {
    var _mJQ = function (selector) {
        return new _mJQ.init(selector);
    }
    // 初始化
    _mJQ.init = function(selector) {
        // 进行selector匹配,比如class,attr,id等...
        if (selector === '#test') {
            const elem = document.getElementById('test')
            this.elem = elem
            return this
        }
        return this
    }
    // 让init的原型对象指向_mJQ的原型
    _mJQ.init.prototype = _mJQ.prototype = {
        // 功能
        each: function() {
            // 循环
        },
        html: function() {},
        css: function (name, value) {
            console.log(this)
            this.elem.style[name] = value
        }
    }
    // 设置contructor指向问题
    Object.defineProperty(_mJQ.prototype, 'constructor', {
        enumerable: false,
        value: _mJQ
    })
    // 挂载到window
    window.$ = window.mJQ = _mJQ;
})

测试demo地址

https://github.com/clm960227/...

测试结果

如何搭建仿jQuery的骨架并测试(附代码)

相关文章推荐:

svg中<marker>元素的使用及marker属性的介绍

JavaScript设计模式之简单介绍适配器模式

Angular表单验证的两种方法介绍

以上就是如何搭建仿jQuery的骨架并测试(附代码)的详细内容,更多请关注其它相关文章!

相关标签: javascript