js中怎麼判斷未定義的物件

2021-07-24 06:57:33 字數 781 閱讀 6126

摘要:1、今天在公司遇到乙個問題?有乙個頁面是幾個人在共用,而這個頁面我們做的是彈出視窗,可以用到父頁面載入好的一些物件。

2、其中一同事不知道其他人在用,就在公用的頁面上面加了只有他頁面才有的物件。

3、今天測試人員告訴我頁面報錯了;然後我開啟除錯工具,發現控制台報錯了,「not find variable 「***」」;

4、然後就加了判斷結果還是報錯;判斷的**如下

// 這是我們判斷是寫的方法

function

isempty

(obj)else

}// 下面是對公共頁面判斷

if(!isempty(xx) && xx.yy)

// 改用另外的方式判斷

if(typeof xx != "undefined" && xx.yy)

分析如下:

傳值:只是將變數的值傳入函式,函式會另外配置記憶體儲存引數值,所以並不會改變原變數的值。

傳址:***將變數實際儲存的記憶體位置傳入函式***,所以如果在函式中變更引數的值,也會同時變動原引數的值。

數字、字串和布林----傳值

物件、陣列和函式----傳址

字串物件-------傳址

1、如果把未定義的物件當作引數傳遞–相當於傳址,就會去取變數實際儲存的位置,但是變數根本沒有宣告/定義,記憶體中是找不到的,所以就報 not find vairable;

2、至於typeof 為什麼可以判斷,個人認為它應該是在window物件下面去找的。(後面解決)

js判斷變數是否未定義

一般如果變數通過var宣告,但是並未初始化的時候,變數的值為undefined,而未定義的變數則需要通過 typeof 變數 的形式來判斷,否則會發生錯誤。例如 if myvar01 alert 發生錯誤 該 直接發生異常,因為變數myvar01沒有申明 if undefined typeof my...

js報未定義 JS的未定義和undefined

background if window else console.log server side rendering 當我啟專案的時候,不斷的報錯 window is not defined 原因在js中,有一種錯誤是 referenceerror x is not defined 造成這種錯誤出...

未定義的索引 php中 php的未定義索引如何解決

通常出現未定義的索引問題是由於陣列沒有這個值造成的,陣列分為關聯陣列和索引陣列,索引陣列是數字下標 關聯陣列是鍵值下標。解決辦法 判斷陣列中是否包含下標鍵值為id的值,如果沒有,則返回錯誤資訊,如何判斷呢,最簡單的方法就是用函式isset來判斷,如isset post id 存在則返回true,反之...