Heim >Web-Frontend >HTML-Tutorial >这段程序应该怎么理解?输出结果到底是什么?_html/css_WEB-ITnose

这段程序应该怎么理解?输出结果到底是什么?_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 12:10:33953Durchsuche

<script> <br /> <!-- <br /> var x; <br /> var y = null; <br /> var z = undefined; <br /> document.write("x:"+x+"<br>"); <br /> document.write("y:"+y+"<br>"); <br /> document.write("z:"+z+"<br>"); <br /> if (x == null) <br /> { <br /> document.write(111); <br /> } <br /> <br /> if (x == y) <br /> { <br /> document.write(222); <br /> } <br /> <br /> if (x == undefined) <br /> { <br /> document.write(333); <br /> } <br /> //--> <p> </script>


回复讨论(解决方案)

谁写的代码?乱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数据类型讲解就成了

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn