在js中怎麼判斷返回的是空值,JS怎麼判斷乙個物件是否為空

2021-04-14 05:44:35 字數 6134 閱讀 8518

1樓:楚軒的眼鏡

如果對應的是函式的返回值的話,可以直接寫if();

比如說你有

這麼乙個東西:

var a = document.getelementbyid("test");

如果說你想回

判斷a是不是空值,那就

答可以這樣

if (!a)

因為null和undefined在js裡面都是可以當做false來用的,所以可以直接這麼用if來判斷

js怎麼判斷乙個物件是否為空

2樓:噯爾

判斷乙個物件是否為空,介紹如下三種判斷方法:

1、直接用for...in...遍歷屬性,結果為真是「非空陣列」,否則是「空陣列」,**如下:

function judgeobj(obj)return alert('空物件')

}2、通過json自帶的.stringify方法來判斷,**如下:

if(json.stringify(c)=='{}')3、es6新增的方法object.keys(),**如下:

if(object.keys(obj).length==0)else

3樓:可愛的小傻瓜

var obj = {};

obj == false; // true// 所以可以這樣:

if (obj) else

// 如果obj不是乙個空物件

var obj = ;

obj == true; // true

// 原理同上

或者 :

var obj=null;

if(!obj)

js例項如下:if (typeof(obj) == undefined) 如果typeof(obj) == undefined 為true則該物件不存在,當前指令碼還沒有定義該物件

其他的寫法要注意:

// 這種方法不起作用

if (x == undefined)//操作語句//物件屬性不存在,

宣告了變數但從未賦值。例項:

js如何判斷陣列為空

4樓:匿名使用者

判斷陣列是否為空,可以用length方法:如var a = ;

if(a.length ==0)else

判斷陣列為空不能用if(a),因為a這個時候是乙個空陣列物件,if會判斷當前a是物件,返回true的

5樓:明月依舊長

js裡面的陣列物件,是有length屬性的,可以根據length值,如果是0代表陣列為空,

不知道你上面這樣轉換有什麼作用

6樓:匿名使用者

陣列判空直接用length屬性即可

if (!a.length)

假設a是乙個陣列,此處不判斷a是不是陣列了

7樓:匿名使用者

a = ;

if(a.length>0) else

8樓:匿名使用者

這是喜聞樂見的js隱式轉換問題

具體都在ecma-262.pdf裡有寫

簡單來說是這樣的

===比較

1、如果型別不同,就[不相等]

2、如果兩個都是數值,並且是同乙個值,那麼[相等];(!例外)的是,如果其中至少乙個是nan,那麼[不相等]。(判斷乙個值是否是nan,只能用isnan()來判斷)

3、如果兩個都是字串,每個位置的字元都一樣,那麼[相等];否則[不相等]。

4、如果兩個值都是true,或者都是false,那麼[相等]。

5、如果兩個值都引用同乙個物件或函式,那麼[相等];否則[不相等]。

6、如果兩個值都是null,或者都是undefined,那麼[相等]。

==比較

1、如果兩個值型別相同,進行 === 比較。

2、如果兩個值型別不同,他們可能相等。根據下面規則進行型別轉換再比較:

a、如果乙個是null、乙個是undefined,那麼[相等]。

b、如果乙個是字串,乙個是數值,把字串轉換成數值再進行比較。

c、如果任一值是 true,把它轉換成 1 再比較;如果任一值是 false,把它轉換成 0 再比較。

d、如果乙個是物件,另乙個是數值或字串,把物件轉換成基礎型別的值再比較。物件轉換成基礎型別,利用它的tostring或者valueof方法。js核心內建類,會嘗試valueof先於tostring;例外的是date,date利用的是tostring轉換。

非js核心的物件,另說

e、任何其他組合(array陣列等),都[不相等]。

所以你知道有這種坑就好, 寫**別用就是了

判斷非空一般都是if (a.length) alert('非空')

js中判斷乙個object的所有值是否為空,如果為空則返回null,只要有乙個值不為空,返回這個物件

9樓:匿名使用者

var obj = {};

function abc(obj)

}return null;

}abc(obj);

js中如何判斷字串為空字串

10樓:屁屁丶寶

可以用正則來判斷,假設待檢測的字串為strvar reg = /^ *$/;  //這裡^和*之間有乙個空格console.log(reg.test(str))這裡正則的意思是:

以空格開頭,且以空格結尾,空格出現任意次(0-n);

如果結果是true,說明待檢測字串為空字串。

如果結果是false,說明帶檢測字串不是空字串。

11樓:沉思狠美

下面就是有關判斷為空的簡寫方法。

**如下

if (variable1 !== null || variable1 !== undefined || variable1 !== '')

上面的意思是說如果variable1不是乙個空物件,或者未定義,或者不等於空字串,那麼宣告乙個variable2變數,將variable1賦給variable2。也就是說如果variable1存在那麼就將variable1的值賦給variable2,若不存在則為空字串。如下面的簡寫**。

簡寫**:

**如下

var variable2 = variable1 || '';

以下是不正確的方法:

**如下

var exp = null;

if (exp == null)

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

**如下

var exp = null;

if (!exp)

如果 exp 為 undefined,或數字零,或 false,也會得到與 null 相同的結果,雖然 null 和二者不一樣。注意:要同時判斷 null、undefined、數字零、false 時可使用本法。

**如下

var exp = null;

if (typeof exp == "null")

為了向下相容,exp 為 null 時,typeof null 總返回 object,所以不能這樣判斷。

**如下

var exp = null;

if (isnull(exp))

判斷字串是否為空

s 匹配任何空白字元,包括空格、製表符、換頁符等等。等價於 [ fnrtv]。 很多情況下,都是用length來直接判斷字串是否為空,如下:

**如下

var strings = '';

if (string.length == 0)

但如果使用者輸入的是空格,製表符,換頁符呢?這樣的話,也是不為空的,但是這樣的資料就不是我們想要的吧。

其實可以用正規表示式來把這些「空」的符號去掉來判斷的

**如下

var strings = ' ';

if (strings.replace(/(^s*)|(s*$)/g, "").length ==0)

12樓:baby_原來

1、length來直接判斷字串是否為空,如下:

var strings = '';

if (string.length == 0)

但如果使用者輸入的是空格,製表符,換頁符,也是不為空的,但是這樣的資料也不是想要的。

2、正則匹配判斷

\s 匹配任何空白字元,包括空格、製表符、換頁符等等。等價於 [ \f\n\r\t\v]

可以用正規表示式來把這些「空」的符號去掉來再判斷

var strings = ' ';

if (strings.replace(/(^\s*)|(\s*$)/g, "").length ==0)

注:\s 小寫的s是,匹配任何空白字元,包括空格、製表符、換頁符等等。等價於 [ \f\n\r\t\v]

13樓:匿名使用者

str.trim().length > 0

成立就是非空字串,不成立就是.

這個函式存在相容性問題。ie有部分版本不支援

14樓:匿名使用者

var foo = " ";

var reg = /^\s*$/;

if(reg.test(foo))

alert("empty");

15樓:匿名使用者

if(str=="")

js判斷值是否為空

16樓:

|var a = "";

if (a =="" ||undefined || null) else;

這樣就可以!希望能幫到你~

17樓:匿名使用者

||/**

* 判斷是否是空

* @param value

*/function isempty(value)else

return false;}}

18樓:路人賈

function (obj)

return r;

}return false;

}case 'object':

return object.keys(obj).length > 0;

case 'array':

return type.length > 0;

case 'undefined':

return false;

case 'null':

return false;}}

怎樣用js判斷核取方塊的值是否為空

19樓:匿名使用者

js應該這樣抄

寫:var objs=document.getelementsbyname('cj');

var issel=false;//判斷襲是否bai有選中項du,預設

為無for(var i=0;izhi擇科目!

dao");

return false;

}else

20樓:匿名使用者

document.getelementsbyname('cj');是用來獲取copyname="cj"的對bai象

這句話可以獲du取到下面的這些

文" />語文

zhi" />數學

英語 getelementsbyname() 方法可返回dao帶有指定名稱的

物件的集合。

js 判斷是否為null

21樓:匿名使用者

你給變數賦值了?

var test = null;

如果是這樣定義,if(test==null)條件是成立的。

還是var test;

後就沒再操作?如果這樣做會彈出--undefined--。

或者你給test賦值了字串 null 。

那就按照樓上的方法判斷。

你對test變數做了什麼?

怎麼把js中得到的值傳到jsp頁面form表單中

魔血噴出飛濺 獲取表單文字框節點,例如 js 土鱉 jquerty u price val 1234 js document.getelementbyid u price value 1234 在js裡獲取的值,如何傳給同一個頁面jsp中? 你沒得說 你直接用js賦給同一個頁面裡的屬性不就行了麼 怎...

在js中判斷,如果字串的長度大於10後面的就用省略號代替

只給du出簡單的 zhivar str 這裡是字串 daoaaaa 原始字串 var s str 要展示的字串if str.length 10 alert s 在js中判斷如果字串的長度大於10後面的就用省略號代替怎麼實現?只給出簡單的 var str 這裡是字串 回aaaa 原始字串 var s ...

eviews ADf檢驗中怎麼判斷p值是顯著性的

不知閣下用的是哪個版本,第二個一般選level,第四個沒規定具體是幾階滯後項,我用的使eviews5.0版本,滯後項是自動選擇的 一般進行adf檢驗要分3步 1對原始時間序列進行檢驗,此時第二項選level,第三項選none.如果沒通過檢驗,說明原始時間序列不平穩 2對原始時間序列進行一階差分後再檢...