javascript跨瀏覽器的屬性判斷方法
今天在寫代碼的時候發(fā)現(xiàn)一個很容易出錯的地方。當(dāng)我們在聲明變量時,常常會因為不同的 browser 有不同的 API 定義,然后用以下的寫法來判斷哪一個屬性,例如:
用||來檢查要用哪一個 attribute。
不過要小心 javascript 的值當(dāng)成條件時的判斷。
例如:
console.log(sLeft);
這段代碼希望 screenLeft 會回傳 window.screenLeft ,而在 firefox 會回傳 window.screenX。
但是如果 screenLeft 剛好等於 0 的時候,就會進(jìn)入||之后的條件了,接著就 gg 了。
因此建議在值的判斷還是正統(tǒng)一點用 hasOwnProperty 或 typeof 來判斷會比較精準(zhǔn)。
if( !window.hasOwnProperty('screenLeft')) sLeft = window.screenX;
相關(guān)文章
clipboard.js無需Flash無需依賴任何JS庫實現(xiàn)文本復(fù)制與剪切
這篇文章主要實現(xiàn)了無需Flash無需依賴任何JS庫實現(xiàn)文本復(fù)制與剪切,是一款極現(xiàn)代的,不需要flash,不依賴任何其他js庫的非常小的插件,叫clipboard.js,感興趣的小伙伴們可以參考一下2015-10-10調(diào)試Javascript代碼(瀏覽器F12及VS中debugger關(guān)鍵字)
目前,常用的瀏覽器IE、Chrome、Firefox都有相應(yīng)的腳本調(diào)試功能下面我就介紹如何在瀏覽器/VS中調(diào)試我們的JS代碼,感興趣的你可不要走開啊,希望本文對你有所幫助2013-01-01基于bootstrap實現(xiàn)多個下拉框同時搜索功能
這篇文章主要為大家詳細(xì)介紹了基于bootstrap實現(xiàn)多個下拉框同時搜索功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07JS項目中對本地存儲進(jìn)行二次的封裝的實現(xiàn)
這篇文章主要介紹了JS項目中對本地存儲進(jìn)行二次的封裝,這里我們將要使用到的key存儲下來,新建一個叫constant-storage.js的文件,對外暴露一些key的鍵名,也方便后期統(tǒng)一修改,這里因為都是恒量,所以名稱我們都用大寫表示,需要的朋友可以參考下2022-07-07JS實現(xiàn)自動定時切換的簡潔網(wǎng)頁選項卡效果
這篇文章主要介紹了JS實現(xiàn)自動定時切換的簡潔網(wǎng)頁選項卡效果,涉及JavaScript基于時間函數(shù)定時觸發(fā)遍歷函數(shù)實現(xiàn)定時切換功能,需要的朋友可以參考下2015-10-10如何設(shè)置一定時間內(nèi)只能發(fā)送一次請求
這篇文章主要介紹了如何設(shè)置一定時間內(nèi)只能發(fā)送一次請求,需要的朋友可以參考下2014-02-02javascript中的循環(huán)語句for語句深入理解
for循環(huán)是多數(shù)語言都有的。在javascript中,for循環(huán)有幾種不同的使用情況,下面為大家一一介紹下2014-04-04使用JavaScript開發(fā)跨平臺的桌面應(yīng)用詳解
下面小編就為大家?guī)硪黄褂肑avaScript開發(fā)跨平臺的桌面應(yīng)用詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07