js中null,undefined和空的区别

// undefined代表为未定义
// "undefined"表示一个字符串
// typeof(exp)为一个字符串,表示类型,可以用typeof(typeof(exp))证明
var exp = "undefined";
if (exp == undefined) //不相等  一个为undefined类型 一个为string类型
{
   alert(typeof(typeof(exp)));
}
//(typeof(exp)为一个sting类型,值为"undefined"
//typeof(exp)=="undefined"是相等的  typeof(exp)==undefined是不相等的
//null==undefined是相等的

null表示"没有对象",即该处不应该有值。典型用法是:

(1) 作为函数的参数,表示该函数的参数不是对象。

(2) 作为对象原型链的终点。

Object.getPrototypeOf(Object.prototype)

// null

undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:

(1)变量被声明了,但没有赋值时,就等于undefined。

(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。

(3)对象没有赋值的属性,该属性的值为undefined。

(4)调用对象没有的属性,返回值为undefined。

(5)函数没有返回值时,默认返回undefined。

var i;
i // undefined

function f(x){console.log(x)}
f() // undefined

var o = new Object();
o.p // undefined

var x = f();
x // undefined

详情:https://www.cnblogs.com/yangzhx/p/4019073.html

发布了225 篇原创文章 · 获赞 30 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_35634181/article/details/89537075