var x;
var y = null;
var z = undefined;
document.write("x:"+x+"
");
document.write("y:"+y+"
");
document.write("z:"+z+"
");
if (x == null)
{
document.write(111);
}
if (x == y)
{
document.write(222);
}
if (x == undefined)
{
document.write(333);
}
//-->
回复讨论(解决方案)
谁写的代码?乱78遭的。
又不是function(),后面的if根本派不上用处。
从参考书上看的,参考书上提示结果是:111;但是我运行的结果是:111222333
如果你的代码确实跟书上的是一模一样的话,那就是这本书上讲的错了。
参考 W3SCHOOL上的教程,对Null、Undefined类型讲得比较透彻。
http://www.cainiao8.com/web/js_blueidea/29_undefined_null.html
直接调用当然可以不用写function了,
var x; 表示定义了x变量,但是没有对它初始化,系统会自动给它一个特殊的值undefined(表示未定义),
var y = null; Null类型是只有一个值的数据类型,特殊的值为null, 它表示一个空对象引用也较指针。
var z = undefined; 表示显式的给一个变量赋值为undefined,
undefined是派生自null,即 undefined == null 返回的是true,但是恒等“三个=号”undefined === null返回的是false,因为它们的数据类型不同
所以那三个if语句都会执行到,
随便找个教程看下javascript数据类型讲解就成了
查看更多关于这段程序应该怎么理解?输出结果到底是什么?_html/css_WEB-ITnose的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did104547