jjs 产生undefined的情况

 1 <script type="text/javascript">
 2 var outObj = {
 3  type :"java"
 4 }
 5 function innerM(){
 6  var p;
 7  alert(p);//undefined
 8  alert("k:"+k);//error--innerObj未定义
 9  alert(outObj.jack);//undefined
10  alert(innerObj.jack);//error--innerObj未定义
11 }
12
13 innerM();
14
15 </script>
<script type="text/javascript">
    alert(typeof(false) === ‘boolean‘); //true
    alert(typeof(0) === ‘number‘); //true
    alert(typeof("") === ‘string‘); //true
    alert(typeof(null) === ‘object‘); //true
    alert(typeof undefined === ‘undefined‘); //true
</script>
1
2 <script type="text/javascript">
3     alert(false == undefined); //false
4     alert(false == null); //false
5     alert(false == 0); //true
6     alert(false == ""); //true
7     alert(null == undefined); //true
8 </script>
<script type="text/javascript">
    alert(false.toString());    // "false"
    alert("".charAt(0));        // ""
    alert((0).toExponential(10));  // 0.0000000e+0
    alert(undefined.toString());    // throw exception "undefined has no properties"
    alert(null.toString());             // "null has no properties"
</script>
 
 1 <script type="text/javascript">
 2     alert(String(false));    // "false"
 3     alert(String(""));        // ""
 4     alert(String(0));  // 0.0000000e+0
 5     alert(String(undefined));    // "undefined"
 6     alert(String(null));             // "null"
 7
 8     alert(decodeURI(undefined));// "undefined"
 9     alert(decodeURI(null));// "null"
10 </script>
11
12  
 1 <script type="text/javascript">
 2 //假值和空值作为if条件分支
 3 //假值和空值有一个共性,那就是在 作为if的条件分支时,均被视为false ;应用"!"操作之后得到的均为true。
 4 //这是因为,这几个对象均被视为各自类型中的无效值或空值。因此if分支中这些对象均被视为false对待。如下示例代码:
 5     var ar = [undefined,false,0,"",null];
 6     for(var i = 0,len = ar.length; i < len; i++){
 7         if(ar[i]){
 8             alert("你不应该看到此对话框!");
 9         }
10     }
11 </script>

<script type="text/javascript">
//undefined和null对象无非是两个特殊对象,undefined表示无效对象,null表示空对象。
//如果变量显式或者隐式(由Javascript引擎进行赋值)地被赋予了undefined,
//那么代表了此变量未被定义,如果被赋予null值,则代表此变量被初始化为空值。
//在Javascript中,变量是通过var声明,=赋值符进行定义(初始化变量所指向的对象)。
//当然,如果声明一个全局变量(作为window属性)可以不使用var关键字。变量可以在声明的同时进行定义。
//变量如果声明了但是没有初始化,那么Javascript引擎会将此变量自动指向undefined对象。
//这里需要注意,我们在上面引用window.abcd时,弹出的是undefined;而直接引用abcd变量时,却抛出了一个异常。
//这是由于Javascript引擎对于没有显式指定对象链的变量,会尝试从最近的作用域开始查找变量,
//查找失败,则退到父级作用链进行查找。如果均查找失败,则抛出"变量未定义"的异常。

    var undefinedVariable,nullVariable = null;
    alert(undefinedVariable); // "undefined"
    alert(window.undefinedVariable);        // "undefined"
    alert(window.abcd);        // "undefined"
    alert(nullVariable);          // "null"
    alert(abcd);                    // throw exception "abcd is not defined"
</script>
 
1 <script type="text/javascript">
2 //这两个值在进行数字运算的时候也有不同。
3     alert(1+undefined);    // "NaN"
4     alert(1+null);             // "1"
5 </script>
6  
<script type="text/javascript">
alert("!undefined......" + (!undefined));
alert("undefined==false......" + (undefined==false));
</script>
时间: 2024-11-08 19:18:29

jjs 产生undefined的情况的相关文章

JS下计算当前日期(当天)后N天出现NAN或者undefined的情况

前言: 帮客户做一个订单系统,需要一个日期1,一个日期2,默认情况下日期1为当天,日期2为明天,只是当时有些疑惑的是日期2偶尔会出现NAN的情况,今天在segmentfault.com看到了同样的问题,于是我觉得有必要再重温一下当时的问题.好好做一下到底是为什么? <!--date() NAN start--> 以下代码有问题,不建议直接使用,只是临时版本,后续再修改 <!DOCTYPE html> <html lang="en"> <head

JavaScript判断undefined的技巧

两种方法: 处理变量为undefined的情况: v = v||null;    //如果v为undefined,则其值变为null 双感叹号:!!,把null/undifined/0转换为bollean类型 用法:if(!!a) {} 当 a=null/undifined/0时,判断结果为false (原创文章,转载请注明转自Clement-Xu的csdn博客.) 版权声明:本文为原创文章,转载请注明转自Clement-Xu的csdn博客.

关于js中undefined的判断

在开发中遇到一个情景,当添加用户的时候不需要传入用户id,如果是修改那么需要传入id,因为用的是angular框架,参数是早就定义好了的,那么在新增用户的时候就会出现undefined的情况,之前我一直认为undefined是在js中未定义变量时才会提示的错误,其实undefined 是js中的一特殊的变量 if('undefined' != $stateParams.deptId){ alert(1); } 当进行这样的判断,发现无论是否有值都会进入alert方法,说明undefined也是一

JavaScript推断undefined的技巧

两种方法: 处理变量为undefined的情况: v = v||null;    //假设v为undefined,则其值变为null 双感叹号:!!,把null/undifined/0转换为bollean类型 使用方法:if(!!a) {} 当 a=null/undifined/0时,推断结果为false (原创文章,转载请注明转自Clement-Xu的csdn博客. ) 原文地址:https://www.cnblogs.com/llguanli/p/8364898.html

数据类型总结——null和undefined

原文: 简书原文:https://www.jianshu.com/p/c3e252efe848 大纲 前言 1.关于null 2.关于undefined 前言 数据类型是每一种语言都需要掌握的内容,掌握每一种数据类型的使用是掌握这门语言必不可少的.而我也对数据类型写了一系列的博客,其中包含了对某一数据类型的概念的认识和理解以及常使用的方法.以下就是我对null类型和undefined类型的一些认识和理解,希望能对读者有所帮助. 1.关于null 1.Null类型只有一个特殊的值,那就是null,

null,undefined,NaN

null是一个表示”无”的对象,转为数值时为0:undefined是一个表示”无”的原始值,转为数值时为NaN undefined出现情况: var a; function b(x) { return x; } b(); var c = {} c.z; var d = function () {} var e = d() null出现情况: 获取一个不存在的对象时 var f = document.getElementById('F');//没有这个dom时 NaN出现情况 是数字类型 NaN

jQuery源代码学习之六——jQuery数据缓存Data

一.jQuery数据缓存基本原理 jQuery数据缓存就两个全局Data对象,data_user以及data_priv; 这两个对象分别用于缓存用户自定义数据和内部数据: 以data_user为例,所有用户自定义数据都被保存在这个对象的cache属性下,cache在此姑且称之为自定义数据缓存: 自定义数据缓存和DOM元素/javascript对象通过id建立关联,id的查找通过DOM元素/javascript元素下挂载的expando属性获得 话不多说,直接上代码.相关思路在代码注释中都有讲解

关于数据类型

在js中数据类型分为 函数function 字符串string 数字number 布尔值Bollean undefined 对象Object 注意:undefined的情况是:1没有定义 2没有赋值 3没有传参 4没有return 5return后面什么都没有

关于perfectionkills上的那些js题

今天晚上研究了下perfectionkills上的14道js题目,说实话,还挺搞脑子的,那么我们下面来分析分析吧~ 1. (function(){ return typeof arguments; })(); 结果是"object",arguments是一个类数组,不论它到底是数组还是对象,typeof的结果肯定是"object"啦,当然类数组本身就是对象,Object.prototype.toString.call(arguments)的结果是[object Ar