1.$.type();查看变量得类型
var a = '123';
alert( $.type(a) );
2.$.isFunction();判断是不是函数
// 真返回ture,假返回false
<ul>
var a = function(){};
alert( $.isFunction(a) );
3.$.isNumeric();判断是不是数字
// 真返回ture,假返回false
var a = ‘123’;
alert( $.isNumeric(a) );
// 字符串的123也会返回true
4.$.isArray();判断是不是数组
// 真返回ture,假返回false
var a = [];
alert( $.isArray(a) );
5.$.isWindow();判断是不是window
// 真返回ture,假返回false
var a = window;
alert( $.isWindow(a) );
6.$.isEmptyObject();判断是不是为空
// 真返回ture,假返回false
var a = {};一般针对 json或者数组
alert( $.isEmptyObject(a) );
7.$.isPlainObject();判断是不是数组类型(对象自变量 {}或者new Object)
// 真返回ture,假返回false
var a = {name:"hellow"};
alert( $.isPlainObject(a) );
8.对象拷贝工作$.extend();
var a = {name:"hello"};
var b = {};
$.extend( b,a );
// 支持多对象覆盖,实现原理从第二个开始往第一个赋值
// $.extend( b,a,{age:12} );
b.name = 'hi';
alert( a.name );// 弹出的是hello
/* 深拷贝 */
var a = {name:{age:20}};
var b = {};
$.extend(true, b,a );// 默认拷贝一层,如果不加true,下面会更改a的age值,加上true,就是深拷贝
b.name.age = 30;
alert( a.name.age );// 弹出的是hello
9.改变this指向$.proxy();
function show(){
alert(n1);
alert(n2);
alert(this);
}
$(document).on('click',$.proxy(show,window,2,3) );// 点击执行
$(document).on('click',$.proxy(show,window)(2,3) );// 直接执行,传参后面再加一个括号是直接执行的意思
/* 上面太过麻烦 */
点击div让div1秒变红色
$('#div1').click(function(){
var This = this;// 更改一下this指向
setTimeout(functioin(){
$(This).css('background','red');// 现在的this指向是window
},1000);
});