$.support可以判断浏览器是否支持某些特性 (不常用)
有个专门检测的库 Modernizr
处理js对象和集合
移除字符串两边的空白字符
$.trim()
//Trim
// var str = ' hello world ';
//
// console.log(str);
// console.log($.trim(str));
// console.log(str);`这里写代码片`
// console.log(str.trim());
遍历属性和集合
//Iterating properties and collections
// var arr = ['one', 'two', 'three'];
//
// var obj = {
// one: 1,
// two: 2,
// three: 3
// };
// for (var i = 0; i < arr.length; i++) {
// console.log(arr[i]);
// }
//
// for (var prop in obj) {
// if (obj.hasOwnProperty(prop)) {
// console.log(obj[prop]);
// }
// }
// arr.forEach(function (currentValue, index, array) {
// console.log(currentValue);
// console.log(index);
// console.log(array);
// })
//数组和对象均可用each
// $.each(arr, function (index, value) {
// if (index === 1) {
// return true//相当于continue return false相当于break
// }
// console.log(index);
// console.log(value);
// })
// $.each(obj, function (propertyName, valueOfProperty) {
// if (propertyName === 'two') {
// return false
// }
// console.log(propertyName);
// console.log(valueOfProperty);
// })
过滤数组
` //Filtering arrays
// var arr = [1, 3, 6, 13, 38, 9, 8, 24, 15];
// var arr2 = $.grep(arr, function (value, index) {//和each的参数顺序不太一样 第一个是value 第二个index
// return value > 10;//>10的留下
// })//这里加个,true 结果就相反
// console.log(arr);
// console.log(arr2);`
转换数组
//Translating arrays
// var arr = [1, 2, 3, 4, 5];
// var arr2 = $.map(arr, function (value, index) {
// // return value + 1;
// // return null;
// return '';//5个空字符串
// })
// console.log(arr);
// console.log(arr2);
// var arr = ['hello', 'world'];
// var arr2 = $.map(arr, function (value, index) {
// return value.split('');
// })
// console.log(arr);
// console.log(arr2);
其他
//Other arrays function
// console.log($.inArray(2, [1, 2, 3, 4, 5]));//返回2在数组中的位置
// var arrayLikeObject = {
// 0: 'a',
// 1: 'b',
// 2: 'c',
// length: 3
// }
// console.log(arrayLikeObject);
// var arr = $.makeArray(arrayLikeObject);
// arr[3] = 'd;
// console.log(arr);
// console.log($.makeArray(arrayLikeObject));//类数组对象转为数组
// var arr1 = [0, 1, 2]
// var arr2 = [3, 4, 5]
// console.log(arr1);
// console.log(arr2);
//
// $.merge(arr1, arr2);//合并数组
// console.log(arr1);
// console.log(arr2);
扩展对象
//Extending objects
// var target = { a: 1, b: 2, c: 3 };
// var source1 = { c: 4, d: 5, e: 6 };
// var source2 = { c: 7, e: 8, f: 9 };
//
// console.log($.extend(target, source1, source2));//相同属性会被后一个覆盖
//
// var mergedObj = $.extend({}, source1, source2);
//
// console.log(mergedObj);
// console.log(source1);
// console.log(source2);
// var target = { a: 1, b: 2 };
// var source1 = { b: { b1: 2.1, b2: 2.2 }, c: 3 };
// var source2 = { b: { b3: 2.3, b4: 2.4 }, d: 4 };
//
// console.log($.extend(target, source1, source2));//a b3 b4 c d 如果只是想让相同的被覆盖而b1 b2不被覆盖呢
//// console.log($.extend(true, target, source1, source2));//将第一个参数设置为true
测试对象
//Testing objects
// var happySum = function (numX, numY, callback) {
// if (!$.isNumeric(numX) || !$.isNumeric(numY)) {//判断是否为数字
// console.error('参数错误');
// return;
// }
// if ($.isFunction(callback)) {//判断是不是函数
// callback();
// }
// console.log(numX + numY);
// return numX + numY;
// }
//
// happySum(1, 2);
// happySum(1, 2, function () {
// console.log('加法完成');
// });
// happySum(1, '2');
// happySum(1, 'a');
// happySum('a', 'b');
获取对象类型
//type方法比typeof准确的多
// console.log($.type(3));
// console.log($.type(true));
// console.log($.type('3'));
// console.log($.type([1, 2, 3]));
// console.log($.type({ a: 1 }));
// console.log($.type(new Date()));
// console.log($.type(/test/));
// console.log($.type(null));
// console.log($.type(undefined));
其他
$.noop 相当于一个function (){}
$.contains (一个dom节点是否包含了一个dom节点).
$.has (针对的是jQuery对象).
//Others
//返回布尔值 dom节点
// console.log($.contains(document.getElementById('box'), document.getElementById('box1')));
// console.log($.contains(document.getElementById('box'), document.getElementById('box2')));
//has是jquery对象
// console.log($('#box').has($('#box1')));
// console.log($('#box').has($('#box2')));
var happySum = function (numX, numY, callback) {
if (!$.isNumeric(numX) || !$.isNumeric(numY)) {
$.error('参数错误');
return;
}
if ($.isFunction(callback)) {
callback();
}
console.log(numX + numY);
return numX + numY;
}
happySum(1, 'a');