zoukankan      html  css  js  c++  java
  • 参数类型的判断

    /*
    * 入口函数的逻辑判断:
    * 1、如果参数转换为布尔类型为false,那么直接返回新实例即可
    * 2、如果传入的是函数,那么把这个函数加到xxx,返回新实例即可
    * 3、如果传入的是字符串,判断是不是html字符串,如果是xxx,不是则当做选择器处理
    * 4、如果传入的是数组或伪数组,那么xxx
    * 5、如果传入的是其他数据,xxxx
    * */

    // 判断数据是不是html字符串
    function isHTML( str ) {

    // 如果传入的不是字符串,直接返回false
    if ( typeof str !== 'string' ) {
    return false;
    }

    // 如果传入的是字符串,看看这个字符串结构符不符合html字符串结构,符合返回true
    if( str[ 0 ] === '<' && str[ str.length - 1 ] === '>' && str.length >= 3 ) {
    return true;
    }

    // 不符合返回false
    return false;
    }

    // 把传入的html字符串解析成对应的DOM
    function parseHTML( html ) {
    var tempDiv = document.createElement('div');
    tempDiv.innerHTML = html;
    return tempDiv.childNodes;
    }

    // 判断数据是不是对象类型
    function isObject( obj ) {

    if( (typeof obj === 'object' && obj !== null) || typeof obj === 'function' ) {
    return true;
    }

    return false;
    }

    // 判断数据是不是数组或伪数组
    function isLikeArray( likeArray ) {

    // 过滤 function、window、!object
    if( typeof likeArray === 'function'
    || likeArray.window === likeArray || !isObject( likeArray ) ) {
    return false;
    }

    // 判断是不是真数组
    if( likeArray instanceof Array ) {
    return true;
    }

    // 判断是不是伪数组,要么length值为0,
    // 要么length值为number,并且还得有lenght - 1这个属性
    if( likeArray.length === 0
    || ( typeof likeArray.length === 'number' && (likeArray.length - 1) in likeArray ) ) {
    return true;
    }

    return false;
    }

    // 判断是不是函数
    function isFunction( fn ) {
    return typeof fn === 'function';
    }

    // 判断是不是字符串
    function isString( str ) {
    return typeof str === 'string';
    }

  • 相关阅读:
    nyoj_518_取球游戏_201404161738
    nyoj_528_找球号(三)_201404152050
    nyoj_68_三点顺序_201404152013
    nyoj_123_士兵杀敌(四)_201404131143
    树状数组
    nyoj_116_士兵杀敌(二)_201404131107
    hdu_1024_糖果大战_201404021640
    hdu_1205_吃糖果_201404021440
    nyoj_278_排队_201403282135
    nyoj_127_星际之门(一)_201403282033
  • 原文地址:https://www.cnblogs.com/luxiaoxiao/p/6099579.html
Copyright © 2011-2022 走看看