html判斷乙個全域性物件是否定義

2021-08-21 04:15:29 字數 761 閱讀 2505

首先,講一下重點。在前端js中,想要判斷是否存在乙個全域性變數,應該是這樣判斷的,假如要判斷是否存在乙個變數v,正確的判斷方法是

if(window.v!=undefined)..........

嗯,宣告一下我當時的狀況,為了能讓網頁能調起exe程式,使用cefsharp做了瀏覽器,並註冊了乙個jsobj物件。但為了方便調樣式,還是用谷歌瀏覽器。搬到谷歌後就會出現類似於下面這種情況

作為有強迫症的程式設計師根本不能忍啊!!!!

此時我們需要判斷物件是否存在

jsobj是未曾定義的物件,通過判斷undefined來判斷是否存在該物件是無效的。

我一想到h5的全域性作用域不是window嘛。

於是我做了乙個猜想,我們所定義的全域性變數是否在window物件下?

果然我的猜測是對的,全域性變數的作用域就是在window物件下。所以有了如下**

if(window.jsobj==undefined);jsobj.start=function(msg)}

問題就這樣搞定了。

第一次寫部落格,可能寫的是一件很蛋疼的問題。但這個問題我搜了好多**都無果。

另外大部分問題都能直接搜到答案,所以我只好搬一些一般人不會去注意到的事情,希望能幫到一些遇到奇葩問題的同行。

判斷乙個物件是否為Buffer物件

1 問題背景 不同資料型別物件變數,如何判斷乙個物件是否為buffer物件 2 實現原始碼 you anikdjfijkfjkdsjfkdjfkdjfkdjfkdjfkd anikdjfijkfjkdsjfkdjfkdjfkdjfkdjfkd hai buffer 128 typeof you st...

判斷乙個物件是否為陣列

方法一 使用instanceof操作符。instanceof操作符用來判斷要檢測物件的原型鏈上是否存在某個建構函式的prototype屬性。var a var b console.log a instanceof object true console.log b instanceof object...

判斷乙個物件是否是陣列

用typeof方法返回的陣列型別是object,無法確定是否是陣列,但可以通過下面方法判斷。var is array function value 說明 首先判斷這個值是否有值,並且不是undifined或null的值 其次判斷這個值的typeof運算的結果是否是object 第三判斷這個值的len...