jQuery.makeArray()
用于将一个类数组对象转换为真正的数组对象。
所谓“类数组对象”就是一个常规的Object对象,但他和数组对象非常相似:具备length属性,
并以0,1,3...等数字作为属性名
注意事项:
1,一个类数组对象,他至少应该具备length属性,哪怕其值为0,他可以没有“元素”
2,如果参数object没有length属性,则它不是类数组对象。jQuery.makeArray()会
将其视作结果数组中的一个元素
3,String对象虽然有length属性,但一般不将其视作类数组对象,该函数仍然直接将其视作
结果数组中的一个元素
4,如果对象的最大数字属性大于或等于length属性,以length属性为准,大于或等于其值的
数字属性将被忽略
类数组对象 : jQuery对象 NodeList对象 函数内的arguments对象 等..
类似于js中的apply,call 改变this指向
$("选择器").click(function(){
//函数内的this 会改变 如果在click中调用以前环境的this 会产生错误
})
如:
$(document).ready(function(){
var Test=function(){
this.txt="这是一个属性";
$("div").click(function(){
//这里面的this指向就不再指向Test实例 而是div
})
}
})
改变this指向
$("div").click($.proxy(this.myClick,this))
$("div").click($.proxy(objPerson,"test"))
语法1
$.proxy(function,content)
语法2
$.proxy(context,name)
function --要被调用的已有函数
context --函数所在的对象名称 ,,这个函数是在什么对象的prototype上 可以用this指向
name --已有的函数,你需要执行context中的函数name
时代在变,你真是留不住自己