美文网首页
jQuery-核心函数与工具方法

jQuery-核心函数与工具方法

作者: 遇明不散 | 来源:发表于2019-08-15 18:38 被阅读0次
    jQuery核心函数
    • jQuery(callback)
      当DOM加载完成后执行传入的回调函数
    <script>
            $(function () {
                alert("123");
            });
    </script>
    
    • jQuery([sel,[context]])
      接收一个包含 CSS 选择器的字符串,然后用这个字符串去匹配一组元素,并将其包装成jQuery对象
    <script>
            $(function () {
                // 获取所有div,返回一个jQuery对象
                var $box = $("div");
                console.log($box);
    
                // 利用js原生语法获取所有div,得到的是一个js对象
                var box = document.getElementsByTagName("div");
                console.log(box);
            });
    </script>
    
    • jQuery(html,[ownerDoc])
      根据 HTML 标记字符串,动态创建DOM 元素
    <script>
            $(function () {
                var $eles = $("<p>我是段落</p>");
                // 无论是jQuery找到的还是创建的,最终返回的都是jQuery对象
                console.log($eles);
                // 将创建好的DOM元素添加到body中
                $("body").append($eles);
            });
    </script>
    
    • jQuery.holdReady(hold)
      • 暂停ready执行
    <script>
        // 暂停ready执行
        $.holdReady(true);
        // $.holdReady(false);
        $(document).ready(function () {
            alert("ready");
        });
    </script>
    
    • 原生JS对象和jQuery对象相互转换
    <script>
            $(function () {
               // 将jQuery对象转换为原生JS对象 
                var $box = $("#box");
                // get函数返回的是原生类型对象
                // var box = $box.get(0);
                var box = $box[0];
                box.innerText = "new string 1";
    
               // 将原生js对象转换为jQuery对象
                var box2 = document.getElementById("box");
                var $box2 = $(box);
                $box2.text("new string 2");
            });
    </script>
    

    为了方便开发者之间沟通和阅读,一般情况下所有jQuery操作相关的变量前面加上$

    jQuery对象的本质

    jQuery对象的本质是一个伪数组

    • 伪数组
      • 0length-1的属性
      • 并且有length属性
    静态方法和实例方法
    • 静态方法
      • 直接添加给类的就是静态方法
      • 静态方法用类名调用
    • 实例方法
      • 实例方法通过类的实例调用
    • $.each(object,[callback])
      • 遍历对象或数组,也可以遍历伪数组
      • 原生JSforEach方法只能遍历数组, 不能遍历伪数组
      • 回调参数的顺序更符合我们的思维模式
      • 不支持在回调函数中对遍历的数组进行处理
      • each静态方法默认的返回值就是遍历谁就返回谁
    <script>
      // 第一个回调函数参数是当前遍历的索引
      // 第二个回调函数参数是遍历到的元素
      // 返回值: 被遍历的数组
    
      var arr = [1, 3, 5, 7, 9];  // 数组
      var fakerArray = {0:1, 1:2, 2:3, 3:4, 4:5, length:5};  // 伪数组
      var obj = {name: "wxm", age:"23", gender:"male"}; // 对象
      
      // 遍历数组
      $.each(arr, function (index, value) {
           console.log(index, value);
      });
      
      // 遍历伪数组
      $.each(fakerArray, function (index, value) {
          console.log(index, value);
      });
      
      // 遍历对象
      $res = $.each(obj,function (key,value) {
          console.log(key, value);
      });
    </script>
    
    • $.map(arr|obj,callback)
      • 遍历对象或数组,也可以遍历伪数组
      • 将回调函数的返回值组成一个新的数组返回
      • map静态方法默认的返回值是一个空数组
      • map静态方法可以在回调函数中通过return对遍历的数组进行处理, 然后生成一个新的数组返回
    <script>
        // 第一个参数: 要遍历的数组
        // 第二个参数: 每遍历一个元素之后执行的回调函数
        // 回调函数的参数:
        // 第一个参数: 遍历到的元素
        // 第二个参数: 遍历到的索引
    
    
        var arr = [1, 3, 5, 7, 9];
        var fakerArray = {0:1, 1:3, 2:5, 3:7, 4:9, length:5};
        var obj = {name: "wxm", age:"23", gender:"male"};
       
        // 遍历数组
        $.map(arr, function (value, index) {
            console.log(index, value);
        });
        
        // 遍历伪数组
         $.map(fakerArray, function (value, index) {
            console.log(index, value);
        });
      
        // 遍历对象
        var $res = $.map(obj,function (key,value) {
            console.log(key, value);
        });
    </script>
    
    • $.trim()
      • 作用: 去除字符串两端的空格
      • 参数: 需要去除空格的字符串
      • 返回值: 去除空格之后的字符串
    <script>
        var str = "    wxm    ";
        var res = $.trim(str);
        console.log("---"+str+"---"); // ---    wxm    ---
        console.log("---"+res+"---"); // ---wxm---
    </script>
    
    • $.isWindow()
      • 判断传入的对象是否是window对象
      • 返回值: true/false
    <script>
      var arr = [1, 3, 5, 7, 9];
      var win = window;
      
      // var res = $.isWindow(arr); // false
      var res = $.isWindow(w); // true
      console.log(res);
    
    </script>
    
    • $.isArray()
      • 判断传入的对象是否是真数组
      • 返回值: true/false
    <script>
      var arr = [1, 3, 5, 7, 9];
      var win = window;
      
      var res = $.isArray(arr); // true
      // var res = $.isArray(w); // false
    
    </script>
    
    • $.isFunction(obj)
      • 判断传入的对象是否是window对象
      • 返回值: true/false
    <script>
      var arr = [1, 3, 5, 7, 9];
      var win = window;
      var fn = function(){};
      
      // var res = $.isFunction(arr); // false
      // var res = $.isFunction(w); // false
      // var res = $.isFunction(jQuery); // true
      var res = $.isFunction(fn); // true
    
    </script>
    

    相关文章

      网友评论

          本文标题:jQuery-核心函数与工具方法

          本文链接:https://www.haomeiwen.com/subject/mcazjctx.html