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

WBOY
풀어 주다: 2016-06-24 12:10:33
원래의
921명이 탐색했습니다.

<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数据类型讲解就成了

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿