javascript - 如何复制jquery函数?

标签 javascript jquery

如何编写自己的类似jquery的函数? 例如:

$('parameter1').doSomething('parameter2);

function $(p1){
   var doSomething=function(p2){}; // this does not work to call....

}

最佳答案

尝试将 $ 定义为全局 window 对象的属性;在具有属性 doSomething$() 函数中创建对象 obj ,将 window.$ 设置为对象 对象;利用命名空间为 window.$ 创建别名;从对 $()

的调用返回具有属性 .doSomethingwindow.$ 对象

window.$ = function $(args) {
  var obj = {
    doSomething: function doSomething(args) {
      // do stuff
      document.write(args + "\n");
      console.log(this);
      // return `window.$`
      return window.$
    }
  };
  // create alias for `window.$`
  var namespace = "abc";
  // set `window.$` to `obj`
  window.$ = window[namespace] = obj;
  if (args && window.$) {
    window.$.doSomething.call(window.$, args)
  };
  // return `window.$`
  return window.$
};

$("abc").doSomething("def");

关于javascript - 如何复制jquery函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31150734/

相关文章:

javascript - 向上滚动文本并在使用 html5 音频读取文本时将其隐藏

javascript - 如何在reactjs material-ui中制作一个使用剩余网格空间的网格项?

javascript - 为什么我必须在闭包中声明一个函数来访问闭包中定义的变量?

javascript - Firebase 部署在 Node js 上

javascript - 如何使用 django-push-notifications 实现 Web 客户端?

Jquery 打印元素

javascript - 如何通过单击轮播项目内的按钮转到下一个轮播项目

javascript - 在初始函数调用后运行 Jasmine 测试

javascript - 了解布局

jquery - 如何在 jQuery Mobile 框架中使用图标(不使用按钮)