【要求】
在输入框输入网址,只有当点击确定按钮且输入的网址不为空字符串时,才打开网址。
var url = prompt("请输入网址:","http://segmentfault");
if(判断条件){
//打开网址
}
【分析和做法】
我们先看下prompt的返回值:
1)点击确定按钮,文本框中的内容将作为返回值。当文本框内容为空时,返回""
2)点击取消按钮,将返回null
1)故要满足条件“只有当点击确定按钮且输入的网址不为空字符串”,我一开始想到的写法是:
if(url != null && url != "")
2)后来发觉就算直接把url作为if的判断条件,即写成:
if(url)
也是可以的,两者的写法等效!
【问题】
都知道if的判断条件应该得Boolean类型的值。显然,prompt的返回值不是Boolean类型,那为什么竟然可以作为if的判断条件??以上两种判断条件写法,那种更提倡?