JS实现的判断方法、变量是否存在功能示例

本文实例讲述了JS实现的判断方法、变量是否存在功能。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
////www.jb51.net/article/67551.htm
//判断变量i是否存在 typeof(i)=="undefined"
<script>
  /*---------------------------判断函数是否存在-------------------------------*/
  function isExitsFunction(funcName) {
    try {
      if (typeof(eval(funcName)) == "function") {
        return true;
        //  funcName();
      }
    } catch (e) {
      console.log(eval(funcName) + "+++++++++++++++++我异常了!!!!!!!!");
    }
    return false;
  }
  /*--------------------------------判断是否存在指定变量 -----------------------------------------*/
  function isExitsParamsVariable(variableName) {
    try {
      console.log("variableName.length===" + variableName.length);
      if (variableName.length == 0) {
        console.log(variableName + "===value has no params");//"":length为0
        return false;
      } else {
        console.log(variableName + "======value has params");//0:length为undefined
        return true;
      }
    } catch (e) {
      console.log(variableName + "----我异常了!!!!!!!!");//null,undefined,未赋值的a
    }
    return false;//null,undefined,未赋值的a
  }
  /*---------------------------------判断是否undefined--------------------------------*/
  function isExitsVariable(variableName) {
    console.log("typeof variableName====" + typeof(variableName));
    try {
      if (typeof(variableName) == "undefined") {
        console.log(variableName + "===value is undefined");//undefined,未赋值的a
        return false;
      } else {
        console.log(variableName + "=======value is true");//null,0,""
        return true;
      }
    } catch (e) {
      console.log(variableName + "-------我异常了........");
    }
    return false;
  }
  /*-------------------------------------------------测试数据---------------------------------------------*/
  var a;//声明未初始化,没有长度
  console.log("isExitsParamsVariable(a)" + isExitsParamsVariable(a));
  console.log("isExitsVariable(a)" + isExitsVariable(a));
  console.log("--------------------------------------------------")
  var b = undefined;//没有长度
  console.log("isExitsParamsVariable(b)===" + isExitsParamsVariable(b));
  console.log("isExitsVariable(b)===" + isExitsVariable(b));
  console.log("--------------------------------------------------")
  var c = null;//没有长度
  console.log("isExitsParamsVariable(c)===" + isExitsParamsVariable(c));
  console.log("isExitsVariable(c)===" + isExitsVariable(c));
  console.log("--------------------------------------------------")
  var d = 0;//长度undefined
  console.log("isExitsParamsVariable(d)===" + isExitsParamsVariable(d));
  console.log("isExitsVariable(d)===" + isExitsVariable(d));
  console.log("--------------------------------------------------")
  var e = "";//长度为0
  console.log("isExitsParamsVariable(e)====" + isExitsParamsVariable(e));
  console.log("isExitsVariable(e)===" + isExitsVariable(e));
  console.log("--------------------------------------------------")
  /*未定义声明 f 则log会报错:Uncaught ReferenceError: f is not defined ,不会执行两个判断方法*/
  console.log("isExitsParamsVariable(f)====" + isExitsParamsVariable(f));//f:undefined
  console.log("isExitsVariable(f)===" + isExitsVariable(f));
</script>
</body>
</html>

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript字符与字符串操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

(0)

相关推荐

  • JS判断字符串变量是否含有某个字串的实现方法

    JS判断字符串变量是否含有某个字串的实现方法 varCts = "bblText"; if(Cts.indexOf("Text") > 0 ){ alert('Cts中包含Text字符串'); } indexOf用法: 返回 String 对象内第一次出现子字符串的字符位置. strObj.indexOf(subString[, startIndex]) 参数 strObj 必选项.String 对象或文字. subString 必选项.要在 String 对

  • 关于JavaScript的变量的数据类型的判断方法

    虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number.String.Boolean.Object.Udefined.Null.其中,Object属于复杂数据类型,Object   由无序的键值对组成.其余几种都属于简单数据类型.注意:变量类型首字母大写,而变量值首字母是小写的.   JavaScript不支持自定义类型,所以JavaScript中的所有值都属于这六种类型之一.   要搞清楚一个变量是何种数据类型,就要使用typeof操作符了,注意,尤其要注意

  • JavaScript判断变量是对象还是数组的方法

    typeof都返回object 在JavaScript中所有数据类型严格意义上都是对象,但实际使用中我们还是有类型之分,如果要判断一个变量是数组还是对象使用typeof搞不定,因为它全都返回object 复制代码 代码如下: var o = { 'name':'lee' }; var a = ['reg','blue'];   document.write( ' o typeof is ' + typeof o); document.write( ' <br />'); document.wr

  • javascript判断变量是否有值的方法

    本文实例讲述了javascript判断变量是否有值的方法.分享给大家供大家参考.具体分析如下: 例如: var a = null; var b = undefined; 以上这两种情况算作没有值 if(a !== null && a !== undefined) { // } // 为什么不能单用if(a !== null) { // } var a; a !== null; // true // 为什么不能单用if(a !== undefined) { // } var a = null

  • JavaScript中判断变量是数组、函数或是对象类型的方法

    数组 ECMAScript5中Array.isArray是原生的判断数组的方法,IE9及以上支持.考虑到兼容性,在没有此方法的浏览器中,可以使用 Object.prototype.toString.call(obj) === '[object Array]'替代. 复制代码 代码如下: var isArray = Array.isArray || function(obj) {     return Object.prototype.toString.call(obj) === '[object

  • JS 判断某变量是否为某数组中的一个值的3种方法(总结)

    1.正则表达式 js 中判断某个元素是否存在于某个 js 数组中,相当于 PHP 语言中的 in_array 函数. Array.prototype.in_array=function(e){ var r=new RegExp(','+e+','); return (r.test(','+this.join(this.S)+','));}; 用法如下: var arr=new Array(['b',2,'a',4]); arr.in_array('b');//判断'b'字符是否存在于 arr 数

  • javascript中对变量类型的判断方法

    在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null, Boolean, Number和String:复杂数据类型是Object,Object中还细分了很多具体的类型,比如:Array, Function, Date等等.今天我们就来探讨一下,使用什么方法判断一个出一个变量的类型. 在讲解各种方法之前,我们首先定义出几个测试变量,看看后面的方法究竟能把变量的类型解析成什么样子,以下几个变量差不多包含了我们在实际编码中常用的类型. var

  • JavaScript判断变量是否为数组的方法(Array)

    今天小编给大家整理些关于javascript判断变量是否是数组(Array)的相关知识,主要通过以下四点给大家展开话题,具体内容如下所示: 1. typeof真的那么厉害吗?? //首先看代码 var ary = [1,23,4]; console.log(typeof ary); //输出结果是Object 上面的办法并不能实时的检测出是否是数组,只能判断其类型,所以说typeof判断基本类型数据还是挺好的,但是不能准确测试出是否是数组(typeof的具体用法以后提及,现在回归正题) 2.in

  • js中定义一个变量并判断其是否为空的方法

    js中定义一个变量 var params=null;判断params不为空的方法: 复制代码 代码如下: if(params && params.hasOwnProperty("name")){} 其中:console.info(params);//结果为:Object {}

  • JavaScript基于自定义函数判断变量类型的实现方法

    本文实例讲述了JavaScript基于自定义函数判断变量类型的实现方法.分享给大家供大家参考,具体如下: 通常用typeof来判断js变量的类型,但很多时候仅仅typeof满足不了要求的. 我写了一个自定义函数来做这个事,判断的比较全面了. function varType(v){ if ( typeof v=== "object" ){ if (v=== null ) return 'null' ; if (v. constructor ) return (v. constructo

随机推荐