js判斷變數是否賦值存在,js判斷乙個變數或物件是否存在

2021-03-04 01:51:21 字數 5893 閱讀 3519

1樓:匿名使用者

如標題所問,常見有的js**中有如下寫法: if(arg){} 通過以上語句來判斷變數是否存在,按理說if後應跟著乙個boolean的表示式,但arg如果不存在則是undefined,存在則為變數本身儲存的值,通過所示的語句如何能準確的判斷乙個變數是否已定義,該怎麼理解呢? 望各位能指點迷津~~~ 問題補充:

我知道使用undefined和null來判斷乙個變數是否定義或為空~~ 但直接把變數放到if的後面,而if需要乙個boolean值, 那麼使用if(arg)來判斷乙個變數是否定義,根據是什麼呢?

javascript中null,undefined,0,"",false作為if的條件的時候,被認為是flase.

任何值為0、null、未定義或空字串的表示式被解釋為 false。

js判斷乙個變數或物件是否存在

2樓:小小小小吃貨丫

1、首先建立兩個檔案,乙個jstest.html,乙個jstest.js檔案。

2、開啟html在裡面引入jstest.js。

3、開啟jstest.js檔案,建立乙個方法aa。

4、然後接著使用if(typeof  aa=="function")判斷如果aa方法存在就提示"aa方法存在",否則彈出"aa方法不存在",明顯aa是存在的。

5、接著使用if(typeof  cc=="function")判斷如果cc方法存在就提示"cc方法存在",否則彈出"cc方法不存在",因為我們沒有定義cc這個方法,所以cc不存在。

6、開啟jstest.html,第一會提示,「aa方法存在」。

3樓:匿名使用者

例項: //返回的是:存在activexobject,因為該物件是js裡已經制定的物件已經由js定義宣告過的,只要是js制定存在的都是非 undefined

但是如果改為:typeof(activexobject1)=="undefined」 則返回的是不存在了activexobject1

另外typeof(t1)=="undefined」 如果這個物件不存在於該指令碼範圍內,或者如果t1 是宣告的變數但是沒有初始化也就是沒有賦值兩者都會返回undefined

判斷元素是否存在:

4樓:百度使用者

//判斷變數i是否存在

typeof(i)=="undefined": 未定義//原始js判斷乙個id為div的元素是否存在if(document.getelementbyid("div))//jquery判斷乙個元素是否存在

js判斷變數是否賦值(存在) 10

5樓:匿名使用者

|//傳入引數d為null、undefined、""時,都會報false,有賦值時,包括0,報true;

chkhavedata(d)else

}很多地方都沒有人能回答上

來。常常是答非所問……無語。

6樓:匿名使用者

如果是判斷變數是否存在的話可以直接:

if('變數名')

//這樣判斷變數存在未true,不存在為false;

如果是判斷有沒有值:

if(變數名 == '' || 變數名 == null)

javascript中 if(變數)和if(變數=true)的區別

7樓:匿名使用者

var a;//定義乙個變數沒有初始化

if(a);//這裡不會執行,因為a沒有值,所以為false;

a=0//這裡給a賦值為0

if(a);//在來執行這句話,因為a=0;0代表false,所以還是不執行;

a=1或者a=「123」;

if(a);//這裡a=除0以為的數,或者字元或者obj都表示為真,這裡的alert就會執行!

在來看第二種情況;

var b;

if(b=="")和if(b==null)這裡誰會執行呢,當然是後面一種,因為b是沒有定義值的,如果是var b="",這樣的話就會執行第一種;

b = 1;

if(b==1)和if(b=="1")這裡哪一種會執行呢,答案是兩種都會執行!因為js的==表示的是數值相等;

謝謝,希望樓主可以理解!

還有就是樓主的這種情況:

var c;

c=0;

if(c==false)會不會執行呢,答案是肯定的;

c=1;

if(c==true)也一樣會執行!但是我們看下面這樣會執行麼?

c=2或者c="admin"

if(c==true)alert(1)這句話會執行麼,答案是否定的,因為預設表示的是,0為false而1為true,對於其他的就沒有這麼定義,所以這裡不會執行,當然如果你是這樣if(c)那這裡就會執行了!

8樓:匿名使用者

首先,變數=true這個是會出錯的,因為變數被賦值為true了,正確寫法變數==true。或者養成習慣,true==變數,將變數寫在後面,就不容易出現賦值的錯誤了。

if(判斷表示式)

如果判斷表示式為true,則執行括號中的內容。

這裡,變數如果不為0,null,undefined,false,都會被處理為true。只要變數有非0的值或是某個物件,陣列,字串,都會認為true

變數==true,變數為bool值,並且為true,才認為符合。

9樓:匿名使用者

第二個應該是

if(變數==true)

第乙個 既可以判斷 true/false 也可以判斷是否 null第二個 就只能判斷 true/false

10樓:匿名使用者

if(變數) 就看這個變數是true還是false,if語句可能為真也可能為假

if(變數=true)先賦值 變數=true,所以變數一直是true,這個if語句一直是真

11樓:匿名使用者

應該是 變數 == true 吧

沒有區別,js會自動把變數轉換為bool,你也可以手動轉換:!!變數

js判斷變數是否為undefined

12樓:新時代向前衝

可能很多朋友認為undefined是在js中未定義變數時才會提示的錯誤,其實不然undefined 是js中的一特殊的變數,我們也可以提前定義哦,下面我來介紹js undefined 用法。

javascript 中有兩個特殊資料型別:undefined和 null,下面談談 undefined 的判斷。

js判斷undefined型別**如下複製**if (revalue== undefined)發現判斷不出來,最後查了下資料要用typeof方法:**如下複製**

if (typeof(revalue) == undefined) typeof 返回的是字串,有六種可能:number、string、boolean、object、function、undefined

以下是不正確的用法:**如下複製**var exp = undefined;

if (exp == undefined)exp 為 null 時,也會得到與 undefined 相同的結果,雖然 null 和 undefined 不一樣。注意:要同時判斷 undefined 和 null 時可使用本法。

以下是正確的用法:**如下複製**var exp = undefined;

if (typeof(exp) == undefined)注意判斷是否是undefined的時候一定要在兩邊加上引號,否則不成功(個人測試結果!)例項乙個變數 var bank_value ,在alert他的時候,他的一些值是undefined,因此我用下面這個判斷,來判定他是否等於undefined。

**如下複製**var yinvalue;

if(yinvalue==』undefined』)結果發現不對,沒有進入條件。後來網上查了查,很簡單如下:**如下複製**if(typeof(yinvalue)==』undefined』)typeof 返回的是字串,有六種可能:

number、string、boolean、object、function、undefined

javascript一種直譯式指令碼語言,是一種動態型別、弱型別、基於原型的語言,內建支援型別。它的直譯器被稱為javascript引擎,為瀏覽器的一部分,廣泛用於客戶端的指令碼語言,最早是在html(標準通用標記語言下的乙個應用)網頁上使用,用來給html網頁增加動態功能。

在2023年時,由***scape公司的brendan eich,在網景導航者瀏覽器上首次設計實現而成。因為***scape與sun合作,***scape管理層希望它外**起來像java,因此取名為javascript。但實際上它的語法風格與self及scheme較為接近。

 [1]

為了取得技術優勢,微軟推出了jscript,cenvi推出scriptease,與javascript同樣可在瀏覽器上執行。為了統一規格,因為javascript相容於ecma標準,因此也稱為ecmascript。

javascript是一種屬於網路的指令碼語言,已經被廣泛用於web應用開發,常用來為網頁新增各式各樣的動態功能,為使用者提供更流暢美觀的瀏覽效果。通常javascript指令碼是通過嵌入在html中來實現自身的功能的。

13樓:馬桶是你吧

undefined 是js中的一特殊的變數。

1、在變數提公升(預解析)階段,只宣告未定義,預設值就是undefined。

2、在js的嚴格模式下(」use strict」),沒有明確的主體,this指的就是undefined。

3、函式定義沒有返回值(return或者return後面什麼也不帶),預設的返回值就是undefined。

4、函式定義形參不傳值,預設就是undefined。

5、物件沒有這個屬性名,屬性值預設就是undefined。

6、在陣列的find方法中,沒有找到的情況下是undefined。

擴充套件資料

javascript一種直譯式指令碼語言,是一種動態型別、弱型別、基於原型的語言,內建支援型別。它的直譯器被稱為javascript引擎,為瀏覽器的一部分,廣泛用於客戶端的指令碼語言,最早是在html(標準通用標記語言下的乙個應用)網頁上使用,用來給html網頁增加動態功能。

14樓:匿名使用者

我是通過ajax來獲取變數的值,當後台沒有返回值的時候,在前端獲取到的變數就會顯示為   undefined,如要進行判斷則總結如下:

1.使用值為 undefined 的變數作判斷時需要【使用typeof】 來做判斷 才能保證不報錯如下:

if (typeof b == 'undifined')

2.如果判斷的是乙個陣列或物件需要 【每一級都使用typeof】來做判斷 才能保證不報錯 如下:

if (typeof c != 'undefined' && typeof c['b'] != 'undefined' && typeof c['b']['a'] !

= 'undefined')

3.javascript中字串0的值為true,而非其他語言(如php)中為true

*///正確寫法

alert(boolean('0')); //true

alert(boolean(0)); //false

alert(boolean({})); //true

alert(boolean('')); //false

alert(boolean(null)); //false

alert(boolean(undefined)); //false

//正確寫法 雖然這樣不報錯但這樣寫基本沒什麼用

if(!undefined)

正確寫法

if (typeof b == 'undifined')

經驗證,條件判斷成立,**可正常執行。

js判斷變數是否賦值存在,js判斷變數是否賦值存在

傳入引數d為null undefined 時,都會報false,有賦值時,包括0,報true chkhavedata d else 很多地方都沒有人能回答上 來。常常是答非所問 無語。如果是判斷變數是否存在的話可以直接 if 變數名 這樣判斷變數存在未true,不存在為false 如果是判斷有沒有值...

無語了,js到底該怎麼判斷變數是否存在

在 js 執行層面裡本身無法判斷。只能判斷乙個變數的值是否為 undefined 但這跟變數存不存在無關,完全可以宣告乙個變數並賦值為 undefined 或不賦值,初值即為 undefined 看是不是undefined,如果是true就是不存在 js判斷乙個變數或物件是否存在 判斷變數i是否存在...

js判斷變數是否定義,JS中如何判斷乙個變數是否已經宣告?

判斷變數是否初始 化var a if a else 確定當 a false,判斷是錯誤的 判斷變數是否定義 if b else 確定當 b false,判斷是錯誤的 一般都是這麼判斷的,標準的是 if typeof a undefined js中如何判斷乙個變數是否已經宣告?var va var v...