javascript 数据类型之 - Undefined

产生情景
// 1.只声明,不赋值
var something ;
something; // undefined

// 2.直接赋值undefined
var other = undefined ;
other; // undefined

// 3.直接访问对象上不存在的值
var obj = {}
obj.name ; // undefined

// 4.函数参数未传值
function test(a){
    console.log(a) 
}
test() // 打印 undefined

// 5. 函数执行未返回值
function test2(){
    // do something
}
console.log(test2()); // undefined

// 6. 对一个未声明的值做 typeof
typeof afddafadfadf // undefined
使用

// 只声明不赋值
var a;

var a = undefined // 一般不用

// undefined 转 Boolean 为false, 配置默认参数
function test(a){
    a = a || 'default'
}

// 对象上没有找到的值也为 undefined, 对浏览器做兼容
var addEvent = (function(){
    if(window.addEventListener){
        return function(obj,event,fnCallback){
            obj.addEventListener(event, fnCallback, false);
        }
    }
    else{
        return function(obj,event,fnCallback){
            obj.attachEvent("on" + event, function() { //兼容IE
                fnCallback.call(obj);
            })
        }
    }
})()

// 对一个未声明的变量做判断, 比如判断 jquery 是否已经引入

if(jQuery){} // Uncaught ReferenceError: jQuery is not defined

// 用typeof 就不会报错中断程序
if(typeof jQuery===undefined){
    console.log('jquery 未加载')
}

// 或者也可以
if(!window.jQuery){
    console.log('jquery 未加载')
}
注意
undefined == 'undefined' // false

undefined === undefined // true

猜你喜欢

转载自blog.csdn.net/haokur/article/details/80464278