可以通過(guò)判斷數(shù)組的長(zhǎng)度length來(lái)判斷數(shù)組是否為空,空數(shù)組的length值為空。數(shù)組的 length 屬性總是比數(shù)組中定義的最后一個(gè)元素的下標(biāo)大 1。對(duì)于那些具有連續(xù)元素,而且以元素 0 開始的常規(guī)數(shù)組而言,屬性 length 聲明了數(shù)組中的元素的個(gè)數(shù)。數(shù)組的 length 屬性在用構(gòu)造函數(shù) Array() 創(chuàng)建數(shù)組時(shí)被初始化。給數(shù)組添加新元素時(shí),如果必要,將更新 length 的值。
創(chuàng)新互聯(lián)公司長(zhǎng)期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為迎江企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì),迎江網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
設(shè)置 length 屬性可改變數(shù)組的大小。如果設(shè)置的值比其當(dāng)前值小,數(shù)組將被截?cái)?,其尾部的元素將丟失。如果設(shè)置的值比它的當(dāng)前值大,數(shù)組將增大,新的元素被添加到數(shù)組的尾部,它們的值為 undefined。
工具原料:編輯器、瀏覽器
1、如果一個(gè)數(shù)組為空則其屬性length為0否則為數(shù)組的實(shí)際長(zhǎng)度,代碼如下:
var?a=[]
var?b=[1,2,3]
a.length
b.length
2、早console的控制臺(tái)的輸出結(jié)果如下:
3、a按照這個(gè)原理直接判斷數(shù)組的長(zhǎng)度即可判斷數(shù)組是否為空:
if(rr.length?==?0){
console.log("數(shù)組為空");
// 如果是一個(gè)空對(duì)象 var obj = {}; obj == false; // true // 所以可以這樣: if (obj) { // 這個(gè)意思是把obj強(qiáng)制轉(zhuǎn)換成bool值,故會(huì)被轉(zhuǎn)成false然后在if中做判斷 // false } else { // true } // 如果obj不是一個(gè)空對(duì)象 var obj = {id: 1}; obj == true; // true // 原理同上 或者 : var obj=null; if(!obj){ //TODO:如果為空?qǐng)?zhí)行的代碼 } js 實(shí)例如下:if (typeof(obj) == undefined) {//操作語(yǔ)句}如果typeof(obj) == undefined 為true則該對(duì)象不存在,當(dāng)前腳本還沒(méi)有定義該對(duì)象 其他的寫法要注意: // 這種方法不起作用 if (x == undefined)//操作語(yǔ)句// 對(duì)象屬性不存在, 聲明了變量但從未賦值。實(shí)例:htmlbody script type=text/javascript if (typeof(ActiveXObject)==undefined) {alert(不存在ActiveXObject)}else {alert(存在ActiveXObject??!)} /script/body /html //返回的是:存在ActiveXObject,因?yàn)樵搶?duì)象是js里已經(jīng)制定的對(duì)象已經(jīng)由js定義聲明過(guò)的,只要是js制定存在的都是非 undefined 但是如果改為:typeof(ActiveXObject1)==undefined 則返回的是不存在了ActiveXObject1 另外typeof(t1)==undefined 如果這個(gè)對(duì)象不存在于該腳本范圍內(nèi),或者如果t1 是聲明的變量但是沒(méi)有初始化也就是沒(méi)有賦值兩者都會(huì)返回undefined 判斷元素是否存在: script language=javascript function changelocation(){ if(document.getElementById(payment_info)) alert('true');else alert('false');} /script
需要檢查一個(gè)對(duì)象(Object)是否為空,即不包含任何元素。Javascript 中的對(duì)象就是一個(gè)字典,其中包含了一系列的鍵值對(duì)(Key Value Pair)。檢查一個(gè)對(duì)象是否為空,等價(jià)于檢查對(duì)象中有沒(méi)有鍵值對(duì)。寫成代碼,形如:
if (isEmptyObject(obj)) {
// obj is empty
} else {
// not empty
}
至于 isEmptyObject 的實(shí)現(xiàn),jQuery 中有一個(gè)很有想法的方式,請(qǐng)看代碼:
function isEmptyObject(obj) {
for (var key in obj) {
return false;
}
return true;
}
盡管 Javascript 沒(méi)有原生提供 isEmpty() 方法,但它提供了迭代器,可以用來(lái)遍歷所有的鍵值對(duì)。于是 jQuery 所做的事情,就是嘗試遍歷,如果有任何一個(gè)鍵值對(duì),即說(shuō)明對(duì)象非空,直接返回 false。從效率上來(lái)說(shuō),由于只讀取了一個(gè)元素,頂多加上一些跳出循環(huán)的開銷,實(shí)際性能不會(huì)比原生方法差太多。
function isNullObj(obj){
for(var i in obj){
if(obj.hasOwnProperty(i)){
return false;
}
}
return true;
}
//有如下三種判斷:
var A=$("#**).val();
if(A==null||A!=undefined||A==""){
//處理
}
還有另一種更簡(jiǎn)單的方法 測(cè)試過(guò) 可用:
var A=$("#**).val();
if(A.length0){
//非空處理
}
擴(kuò)展資料:
這里解釋一下null與undefined和”“的區(qū)別:
null:空對(duì)象\不是對(duì)象,轉(zhuǎn)為數(shù)值為0
undefined:全局對(duì)象window的一個(gè)特殊屬性.undefined表示”缺少值”,就是此處應(yīng)該有一個(gè)值,但是還沒(méi)有定義。轉(zhuǎn)為數(shù)值為NaN.典型用法是:?
(1)變量被聲明了,但沒(méi)有賦值時(shí),就等于undefined。
(2) 調(diào)用函數(shù)時(shí),應(yīng)該提供的參數(shù)沒(méi)有提供,該參數(shù)等于undefined。
(3)對(duì)象沒(méi)有賦值的屬性,該屬性的值為undefined。
(4)函數(shù)沒(méi)有返回值時(shí),默認(rèn)返回undefined。
參考資料:CSDN
文章名稱:jquery判斷為空,jquery判斷非空
新聞來(lái)源:http://aaarwkj.com/article26/dssjejg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、微信公眾號(hào)、關(guān)鍵詞優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、軟件開發(fā)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)