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'的錯誤,如果改成下面就會彈出預期的對話框:
<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)了錯誤.
* 屬性是復合型變量所特有的,而obj.property是數(shù)值型變量,不能含有屬性.
*/
var obj = {};
obj.property = 2 ;
obj.property.number = 3;
</script>
1、普通變量
復制代碼 代碼如下:
<script type="text/javascript">
if(variable){
alert('rain man');
}
</script>
這時會出現(xiàn)‘variable is not defined'的錯誤,如果改成下面就會彈出預期的對話框:
復制代碼 代碼如下:
<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)了錯誤.
* 屬性是復合型變量所特有的,而obj.property是數(shù)值型變量,不能含有屬性.
*/
var obj = {};
obj.property = 2 ;
obj.property.number = 3;
</script>
相關(guān)文章
bootstrap制作jsp頁面(根據(jù)值讓table顯示選中)
這篇文章主要為大家詳細介紹了bootstrap做的jsp頁面,根據(jù)值讓table顯示選中,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01
JavaScript實現(xiàn)隨機產(chǎn)生字符串的方法分享
這篇文章主要為大家詳細介紹了JavaScript中實現(xiàn)隨機產(chǎn)生字符串的方法,文中的示例代碼簡潔易懂,對我們學習JavaScript有一定的幫助,需要的可以參考一下2022-11-11
Bootstrap select實現(xiàn)下拉框多選效果
這篇文章主要為大家詳細介紹了Bootstrap select實現(xiàn)下拉框多選效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12
為非IE瀏覽器添加mouseenter,mouseleave事件的實現(xiàn)代碼
為非IE瀏覽器添加mouseenter,mouseleave事件的實現(xiàn)代碼,學習js的朋友可以參考下。2011-06-06

