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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值