亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

怎么加了if(text!=null)之后還會輸出空值?

如題所問,結果如下:

http://img1.sycdn.imooc.com//55a8cae4000175ee09520265.jpg

正在回答

6 回答

你把判斷語句改成

if (!!text)

1 回復 有任何疑惑可以回復我~
#1

二五七 提問者

為什么if(text!=null)不行?
2015-07-17 回復 有任何疑惑可以回復我~
#2

Code_M0keny 回復 二五七 提問者

周末沒時間看。 除了@嗟嗟嗟 說的,我再補充一下,js判斷字符串為空,一般就是 (str != null && str != '') ,而js中會把 null、''、0、false當做是false,而!!str的意思就是 將str強轉為布爾值。
2015-07-20 回復 有任何疑惑可以回復我~
#3

二五七 提問者 回復 Code_M0keny

明白了,謝謝啊。
2015-07-20 回復 有任何疑惑可以回復我~
#4

嗟嗟嗟 回復 Code_M0keny

漲姿勢了。 但是這種設定好奇怪。。
2015-07-20 回復 有任何疑惑可以回復我~
查看1條回復

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>無標題文檔</title>

</head>

<body>

? <p id="intro">我的課程</p> ?

? <ul> ?

? ? <li title="JS">JavaScript</li> ?

? ? <li title="JQ">JQuery</li> ?

? ? <li title="">HTML/CSS</li> ?

? ? <li title="JAVA">JAVA</li> ?

? ? <li title="">PHP</li> ?

? </ul> ?

? <h1>以下為li列表title的值,當title為空時,新設置值為"WEB前端技術":</h1>

<script type="text/javascript">

? var Lists=document.getElementsByTagName("li");

? for (var i=0; i<Lists.length;i++)

? {

? ? var text=Lists[i].getAttribute("title");

? ? if(text!=""){ ?

? ??

? ? document.write(text +"<br>");

? ? }else

? ? {

? ? Lists[i].setAttribute("title","c++")

? ? document.write(Lists[i].getAttribute("title")+"<br>");

? ? }

? }

</script>

</body>

</html>

這樣就不會輸出空格

0 回復 有任何疑惑可以回復我~

因為他并不是null,而是空字符串"",null代表沒有值,而空字符串""是有值得、

也就是說""!=null(值為flase),所以你的判斷不能生效。

1 回復 有任何疑惑可以回復我~
#1

嗟嗟嗟

哦 錯了 ""!=null(值為true)
2015-07-19 回復 有任何疑惑可以回復我~
#2

二五七 提問者

哦,非常感謝。
2015-07-20 回復 有任何疑惑可以回復我~

<!DOCTYPE HTML>

<html>

<head>

? ?<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

? ?<title>無標題文檔</title>

</head>

<body>

<p id="intro">我的課程</p>

<ul>

? ?<li title="JS">JavaScript</li>

? ?<li title="JQ">JQuery</li>

? ?<li title="">HTML/CSS</li>

? ?<li title="JAVA">JAVA</li>

? ?<li title="">PHP</li>

</ul>

<h1>以下為li列表title的值,當title為空時,新設置值為"WEB前端技術":</h1>

<script type="text/javascript">

? ?var Lists = document.getElementsByTagName("li");

? ?for (var i=0; i<Lists.length;i++)

? ?{
? ? ? ?var text=Lists[i].getAttribute("title");
? ? ? ?if(text=="")
? ? ? ?{
? ? ? ? ? ?Lists[i].setAttribute("title","WEB前端技術");
? ? ? ?}
? ? ? ?document.write(Lists[i].getAttribute("title")+"<br>");

? ?}

</script>

</body>

</html>

0 回復 有任何疑惑可以回復我~

@甜甜圈

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>無標題文檔</title>

</head>

<body>

? <p id="intro">我的課程</p> ?

? <ul> ?

? ? <li title="JS">JavaScript</li> ?

? ? <li title="JQ">JQuery</li> ?

? ? <li title="">HTML/CSS</li> ?

? ? <li title="JAVA">JAVA</li> ?

? ? <li title="">PHP</li> ?

? </ul> ?

? <h1>以下為li列表title的值,當title為空時,新設置值為"WEB前端技術":</h1>

<script type="text/javascript">

? var Lists=document.getElementsByTagName("li");

? for (var i=0; i<Lists.length;i++)

? {

? ? var text=Lists[i].getAttribute("title");

? ? if(text!=null)

? ? document.write(text +"<br>");

? ? if(text=="")

? ? {

? ? Lists[i].setAttribute("title","WEB前端技術");

? ? document.write(Lists[i].getAttribute("title")+"<br>");

? ? }

? }

</script>

</body>

</html>


0 回復 有任何疑惑可以回復我~
#1

甜甜圈

實際上不是判斷出錯導致輸出了空,而是你判斷正確,輸出了換行。
2015-07-17 回復 有任何疑惑可以回復我~
#2

二五七 提問者 回復 甜甜圈

哦,好的,謝謝。
2015-07-20 回復 有任何疑惑可以回復我~

發代碼,不要截圖

0 回復 有任何疑惑可以回復我~
#1

二五七 提問者

字數有限,見下。
2015-07-17 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

怎么加了if(text!=null)之后還會輸出空值?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號