如何定义像JQuery $这样的函数?

时间:2016-09-07 06:36:41

标签: javascript

JQuery正在使用$作为函数,我想知道,我怎样才能创建自己的函数呢?

如何在JavaScript中创建承包商功能? 就像,我这样做:

window.test = (function () {        
    var test = {
        get: function (selector) {

        }   
    };

    return test;
}());

(例如)我想直接调用test()

时选择一个canvas元素

2 个答案:

答案 0 :(得分:4)

我认为你需要这个链接对象。

var myQuery = function (str) {       
  this.str=str;
  this.concate = function(str){
     this.str= this.str+" "+str;
     return this;
  };
  this.to_string = function(){
     return this.str;
  };
  return this;
};
window['$']=myQuery;

alert($('hello').concate(' $').concate('!!').to_string());
alert(myQuery('hello').concate('myQuery').concate('!!').to_string());

另一个场景:将myQuery的引用直接声明为$;

var myQuery = (function (str) {       
  if(typeof window['$'] ==="undefined")
  {
  	window['$']=this;
  }
  this.str=str || '';
  this.concate = function(str){
     this.str= this.str+" "+str;
     return this;
  };
  this.to_string = function(){
     return this.str;
  };
  return this;
})();

alert($.concate("From $").to_string());

答案 1 :(得分:2)

above answer是正确的,但我想我明白你需要什么,也许这个答案也可以帮助你:



window["$"] = function (selector) {       
  this.s=selector;
  this.changeColor = function(color){
      document.getElementById(this.s).style.background = color;
     return this;
  };
  return this;
};

<div id="elementId">
  Change my background.  
</div>

<a onClick="$('elementId').changeColor('red');" href="#">Red</a>
<a onClick="$('elementId').changeColor('blue');" href="#">Blue</a>
<a onClick="$('elementId').changeColor('green');" href="#">Green</a>
&#13;
&#13;
&#13;