jQuery常用工具方法(一)

jQuery工具方法不仅可以给jQuery用也可以给原生用

1、$.type()
<script>
    var a = []
    console.log($.type(a))
</script>

type就是判断类型的一种方法,可以给原生JS用,它的好处在于它可以精确判断各种类型,比如上面的例子打出来的就是array。而typeof方法只能判断基本类型。

2、$.trim()
<script>
    var a = '  string  '
    console.log('('+$.trim(a)+')')
</script>

$.trim()方法是去掉空格,如果不用这种方法会连空格都打出来。结果是(string)而不是( string )

3、$.inArray()

类似于原生数组中的indexOf()方法

<script>
    var array = ['a','b','c']
    console.log( array.indexOf('b') )
  </script>

打出1,用jQuery的$.inArray()工具方法如下表示:

<script>
    var array = ['a','b','c']
    console.log( $.inArray('b',array) )
</script>
4、$.proxy()这个指定this的方法
<script>
    function show(a,b){
      console.log(a,b)
      console.log(this)
    }
    $.proxy(show,document)(1,2)
  </script>

$.proxy()这个方法接收的两个参数第一个是函数,另一个是this的指向。这段代码里$.proxy(show,document)已经是让show里的this指向了document了,但是它没有执行,所以要写成$.proxy(show,document)()这种形式才能调用和修改this。

$.proxy(show,document,1,2)
$.proxy(show,document,1,2)()
$.proxy(show,document)(1,2)

第一种是只修改this未调用函数,而后两种写法是等价的,都调用了函数,传参的方式也都对。而且,在里面进行传参就可以作为事件委托的执行函数存在。
示例如下:

<script>
    function show(a,b){
      console.log(a,b)
      console.log(this)
    }
    $(button).click($.proxy(show,document,1,2))
  </script>

打出来的结果是1,2,document

再看一个例子:

<script>
    var a = {
      content: '111',
      test : function(){
        $('div').text(this.content)
      }
    }
    
    var b = {
      content: '222',
      test :function(){
      $('div').text(this.content)
      }
    }
    $('button').click($.proxy(a.test,b))
</script>

这个例子的意思就是说,当你点击了button,就会执行函数a.test,但是在a.test内的this已经被修改成了b这个对象,所以最后的结果就变成了<div>222</div>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容

  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,167评论 0 1
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,330评论 0 2
  • jQuery基础 什么是JQ?一个优秀的JS库,大型开发必备JQ的好处?一简化JS的复杂操作二不再需要关心兼容性三...
    幺七阅读 941评论 0 2
  • jQuery中隐藏元素的hide方法 让页面上的元素不可见,一般可以通过设置css的display为none属性。...
    阿r阿r阅读 1,135评论 0 4
  • 你说 你梦到别人把我带走 你杀了很多人 杀到精疲力尽 杀到无能为力 我留着眼泪被别人带走 你醒来眼角是湿的 微笑的...
    Soulhome阅读 324评论 1 1