zoukankan      html  css  js  c++  java
  • jQuery的一些静态方法

    // 该方法被绑定在jQuery对象上,只能通过$.noConflict()调用
    noConflict: function( deep ) {
      // 取消$在window上的绑定,方法是将_$绑定到window对象上,从而解除其对jQuery的引用
      if ( window.$ === jQuery ) {
        window.$ = _$;
      }
      // 如果传入参数deep为ture,说明用户解除window对象的jQuery属性对jQuery对象的引用,执行$同样的操作
      if ( deep && window.jQuery === jQuery ) {
        window.jQuery = _jQuery;
      }
      // 返回jQuery对象,目的是让其它参数或者对象的属性可以引用到它
      return jQuery;
    },

    // 判断参数中传入的对象是不是函数

    isFunction: function( obj ) {
      return jQuery.type(obj) === "function";
    },

    // 判断参数是不是windwo对象

    isWindow: function( obj ) {
      //这是怎么判断的?利用构造器吗?
      return obj != null && obj === obj.window;
    },

    // 判断参数是不是数字,该数字不一定是number类型。

    isNumeric: function( obj ) {
      // 先判断obj是否可转换为数字,并判断该数字是可穷尽的
      return !isNaN( parseFloat(obj) ) && isFinite( obj );
    },

    // 如果这个对象中没有任何键,则说明他是个空对象。其原型链最顶端的Object.prototype中的属性和方法是不能被遍历的

    isEmptyObject: function( obj ) {
      var name;
      for ( name in obj ) {
        return false;
      }
      return true;
    },

    // 将第二个数组或者对象合并到第一个数组或对象当中  extend扩展对象和merge合并数组
    merge: function( first, second ) {
      var l = second.length,
      i = first.length,
      j = 0;
      // 如果第二个参数是个数组
      // 但是如果第二个对象是类数组呢?我试过的是会丢弃掉类的部分而只merge数组的部分。这是不是jQuery的bug呢?
      if ( typeof l === "number" ) {  
        for ( ; j < l; j++ ) {
        // 将第二个参数添加到第一个参数的后面
        first[ i++ ] = second[ j ];
      }
      // 如果第二个数组中还有值,则继续merge到第一个数组中
      } else {
        while ( second[j] !== undefined ) {
          first[ i++ ] = second[ j++ ];
        }
      }
      //当时数组时,重新设置length的长度,但这不是自动改变的吗?????
      first.length = i;

      return first;
    },

  • 相关阅读:
    剑指offer-二维数组中的查找
    TF-IDF(term frequency–inverse document frequency)
    Java实现中文字符串的排序功能
    当前课程
    【R】资源整理
    CentOS相关
    【转】Setting up SDL Extension Libraries on MinGW
    【转】Setting up SDL Extension Libraries on Visual Studio 2010 Ultimate
    【转】Setting up SDL Extension Libraries on Code::Blocks 12.11
    【转】Setting up SDL Extension Libraries on Visual Studio 2019 Community
  • 原文地址:https://www.cnblogs.com/charling/p/3452747.html
Copyright © 2011-2022 走看看