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 ,返回为字符串的 'undefined'
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
posted @ 2022-10-22 16:45  haokur  阅读(11)  评论(0)    收藏  举报