jQuery工具函数

2016-09-12  本文已影响0人  尘中老

工具函数是指在jQuery对象(即变量”$”)上定义的函数. 这些函数都是工具类函数.

废话不多说,以简单的例子切入正题。
在JavaScript中 typeof 运算符的作用是返回一个用来表示表达式的数据类型的字符串,可结果往往不够准确

var a = [1,3,5];
console.log(typeof a); //object

jQuery里便有更优秀的工具来判断出具体的引用类型;

$.type(obj)

//参数obj:用于测试类型的对象

console.log($.type(true));  
console.log($.type(3)); 
console.log($.type("test")); 
console.log($.type(function(){}));  
console.log($.type([]));
console.log($.type(new Date()));  
 console.log($.type(/test/));

打印结果:

$.type(obj)

再介绍几个简单的工具函数。

$.trim(str)

jQuery.trim(str):去掉字符串起始和结尾的空格。
参数str:需要处理的字符串

 var str ="      abc ";
 console.log('('+str+')');
正常打印
 console.log('('+$.trim(str)+')');
$.trim工具操作后
$.inArray(val,arr)

jQuery.inArray(value,array)
作用:确定第一个参数在数组中的位置,从0开始计数(如果没有找到则返回 -1 )

var arr = [6,"jay",9,"Yxt"];        
console.log($.inArray("jay",arr));    //1  
console.log($.inArray(9,arr));        //2   
console.log($.inArray(6,arr));        //0           
console.log($.inArray('Yxt',arr));    //3   
console.log($.inArray(8,arr));       //-1           
console.log($.inArray("solo",arr));  //-1
$.proxy():

作用:修改内部this指针的指向。
第一个参数表示要修改的函数,第二个参数表示函数指针要指向的新对象,修改仅限于在$.proxy()方法内生效。后边在调用函数时,函数内部this指针的指向还是原来的指向;

function show(){
        console.log(this);
}
show();//window
$.proxy(show,document)();
show();//document
            
//把show()绑定在document的点击事件上
$(document).click(show);            
$(document).click($.proxy(show,window));

//如果需要参数,就把参数依次列在修改指针指定的对象之后
function showCan(a,b){
    console.log(a+b);
    console.log(this);
}
$(document).click($.proxy(showCan,window,3,6));
$.parseJSON(json)

作用:把严格模式下的json字符串转化为对象类型
传入一个畸形的JSON字符串会抛出一个异常。比如下面的都是畸形的JSON字符串:
{test: 1} ( test 没有包围双引号)
{'test': 1} (使用了单引号而不是双引号)
另外,如果你什么都不传入,或者一个空字符串、null或undefined,parseJSON都会返回 null 。

var obj= $.parseJSON  ('{"name":"Jay","age":"36"}'); 
console.log(obj.name==="Jay"); //true
jQuery.noConflict([ex])

noConflict() 方法用来让渡变量 $ 的 jQuery 控制权。
该方法释放 jQuery 对 $ 变量的控制。
该方法也可用于为 jQuery 变量规定新的自定义名称。
提示:在其他 JavaScript 库为其函数使用 $ 时,该方法很有用。

var yxt=$.noConflict();
yxt(document).ready(function(){
  yxt("button").click(function(){
    yxt("p").hide();
  });
});
上一篇 下一篇

猜你喜欢

热点阅读