JavaScript中檢測變量是否存在遇到的一些問題
更新時間:2013年11月11日 17:17:19 作者:
要檢測某一變量是否存在,雖然簡單但是也要細心,下面整理了幾點,遇到類似問題的朋友可以參考下
在編寫JavaScript程序時往往需要檢測某一變量是否存在,這是一件非常簡單的工作,但如果不細心也會遇到一些問題。主要有一些幾點:
1、普通變量
<script type="text/javascript">
if(variable){
alert('rain man');
}
</script>
這時會出現(xiàn)‘variable is not defined'的錯誤,如果改成下面就會彈出預(yù)期的對話框:
<script type="text/javascript">
if( typeof variable == 'undefined' ){
alert('rain man');
}
</script>
2、對象的屬性
<script type="text/javascript">
var two = {};
if(two.b){
alert('rain man');
}
if( window.addEventListener ){
alert('This is not IE!');
}
</script>
對于檢測對象的屬性則不必使用 typeof 。
3、在給對象添加屬性時,也會遇到類似的問題
<script type="text/javascript">
var obj = {};
obj.property.number = 2; //這時會出現(xiàn) 'obj.property is undefined' 的錯誤
/**
* 下面這種情況雖然沒有出現(xiàn)語法錯誤,但實際上已經(jīng)出現(xiàn)了錯誤.
* 屬性是復(fù)合型變量所特有的,而obj.property是數(shù)值型變量,不能含有屬性.
*/
var obj = {};
obj.property = 2 ;
obj.property.number = 3;
</script>
1、普通變量
復(fù)制代碼 代碼如下:
<script type="text/javascript">
if(variable){
alert('rain man');
}
</script>
這時會出現(xiàn)‘variable is not defined'的錯誤,如果改成下面就會彈出預(yù)期的對話框:
復(fù)制代碼 代碼如下:
<script type="text/javascript">
if( typeof variable == 'undefined' ){
alert('rain man');
}
</script>
2、對象的屬性
復(fù)制代碼 代碼如下:
<script type="text/javascript">
var two = {};
if(two.b){
alert('rain man');
}
if( window.addEventListener ){
alert('This is not IE!');
}
</script>
對于檢測對象的屬性則不必使用 typeof 。
3、在給對象添加屬性時,也會遇到類似的問題
復(fù)制代碼 代碼如下:
<script type="text/javascript">
var obj = {};
obj.property.number = 2; //這時會出現(xiàn) 'obj.property is undefined' 的錯誤
/**
* 下面這種情況雖然沒有出現(xiàn)語法錯誤,但實際上已經(jīng)出現(xiàn)了錯誤.
* 屬性是復(fù)合型變量所特有的,而obj.property是數(shù)值型變量,不能含有屬性.
*/
var obj = {};
obj.property = 2 ;
obj.property.number = 3;
</script>
相關(guān)文章
微信小程序?qū)崿F(xiàn)點擊卡片 翻轉(zhuǎn)效果
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)點擊卡片 翻轉(zhuǎn)效果本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09詳解JavaScript中Canvas的高級繪圖和動畫技術(shù)
JavaScript中的Canvas 是一個強大的 HTML5 元素,允許你通過編程方式創(chuàng)建圖形、繪制圖像和實現(xiàn)復(fù)雜的動畫效果,在本文中,我們將深入探討 JavaScript Canvas 的高級繪圖和動畫技術(shù),并提供一個復(fù)雜的案例,以展示其潛力,需要的朋友可以參考下2023-10-10阿里巴巴技術(shù)文章分享 Javascript繼承機制的實現(xiàn)
這篇文章主要介紹了阿里巴巴技術(shù)文章,分享的是一篇關(guān)于Javascript實現(xiàn)繼承機制的文章,感興趣的小伙伴們可以參考一下2016-01-01微信小程序 多行文本顯示...+顯示更多按鈕和收起更多按鈕功能
這篇文章主要介紹了微信小程序多行文本顯示...+顯示更多按鈕和收起更多按鈕,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09js刪除數(shù)組元素、清空數(shù)組的簡單方法(必看)
下面小編就為大家?guī)硪黄猨s刪除數(shù)組元素、清空數(shù)組的簡單方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07事件綁定之小測試 onclick && addEventListener
昨晚回去后,和雷子討論如何才能“檢測”到頁面上某個元素都綁定了哪些事件監(jiān)聽函數(shù),第一感覺就是應(yīng)該從瀏覽器入手,比如FF,或者Chrome等2011-07-07