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 @   haokur  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示
主题色彩