首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

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

2020-11-27 来源:化拓教育网
这篇文章给大家分享的内容是关于如何搭建仿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/...

测试结果

1276698480-5b674601554eb_articlex.png

相关文章推荐:

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

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

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

显示全文