[js学习] this 、$(this)
作者:互联网
1.两者区别
$() = jquery(),即$(this)返回的是一个jQuery对象,能够调用jquery的方法,如click等
this 一般是全局变量,他指向的是函数执行的上下文对象。
比如:现在执行一个函数,该函数的功能为遍历某对象input,且找到该对象的属性。如下:
<div id="mubiao"> <input type="checkbox" checked="" id="minCmax" disabled > <input type="checkbox" id="minCost" > <input type="checkbox" id="other" > </div>
//寻找mubiao div下复选框为选中状态的input,并遍历查找后的结果 var object=[] $("#mubiao").find(':checked').each(function() { object.push($(this).attr("id"))//添加被选中的input id console.log('this:',this) console.log('$(this):',$(this)) });
分别打印出this和$(this),结果为:
这里的this 就是执行函数的对象input,表示当前的上下文对象是一个html DOM
对象,可以调用html
对象所拥有的属性、方法;而$(this)是套了jQuery方法 的对象,可以调用jquery
的方法和属性值。
2.this的多种用法:
(1)在一般函数方法中使用 this 指代全局对象window
(2)作为对象方法调用,this 指代上级对象(见 1.区别 的那个栗子)
(3)作为构造函数调用,this 指代new 出的对象
可以认为,o.x=this.x
标签:jquery,调用,函数,对象,js,学习,指代,input 来源: https://blog.csdn.net/fronde2233/article/details/119913221