jquery常用工具函数

$.support可以判断浏览器是否支持某些特性 (不常用)

有个专门检测的库 Modernizr

https://modernizr.com/

处理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');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值