需要檢查一個(gè)對(duì)象(Object)是否為空,即不包含任何元素。Javascript 中的對(duì)象就是一個(gè)字典,其中包含了一系列的鍵值對(duì)(Key Value Pair)。檢查一個(gè)對(duì)象是否為空,等價(jià)于檢查對(duì)象中有沒(méi)有鍵值對(duì)。寫(xiě)成代碼,形如:
創(chuàng)新互聯(lián)建站從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元鹽都做網(wǎng)站,已為上家服務(wù),為鹽都各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
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)的開(kāi)銷,實(shí)際性能不會(huì)比原生方法差太多。
function isNullObj(obj){
for(var i in obj){
if(obj.hasOwnProperty(i)){
return false;
}
}
return true;
}
可以通過(guò)判斷數(shù)組的長(zhǎng)度length來(lái)判斷數(shù)組是否為空,空數(shù)組的length值為空。數(shù)組的 length 屬性總是比數(shù)組中定義的最后一個(gè)元素的下標(biāo)大 1。對(duì)于那些具有連續(xù)元素,而且以元素 0 開(kāi)始的常規(guī)數(shù)組而言,屬性 length 聲明了數(shù)組中的元素的個(gè)數(shù)。數(shù)組的 length 屬性在用構(gòu)造函數(shù) Array() 創(chuàng)建數(shù)組時(shí)被初始化。給數(shù)組添加新元素時(shí),如果必要,將更新 length 的值。
設(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ù)組為空");
可以通過(guò)判斷數(shù)組的長(zhǎng)度length來(lái)判斷數(shù)組是否為空百,空數(shù)組的length值為空。數(shù)組的
length
屬性總是比數(shù)組中定義的最后一個(gè)元素的下標(biāo)大
1。對(duì)于那些具有連續(xù)元素,而且以元素
開(kāi)始的常規(guī)數(shù)組而言,屬性
length
聲明了數(shù)組中的元素的個(gè)數(shù)。數(shù)組的
length
屬性在用構(gòu)造函數(shù)
Array()
創(chuàng)建數(shù)組時(shí)被初始度化。給數(shù)組添加新元素時(shí),如果必要,將更新
length
的值。
設(shè)置
length
屬性可改變數(shù)組的大小。如果設(shè)置的值比其當(dāng)前值小,數(shù)組版將被截?cái)啵湮膊康脑貙G失。如果設(shè)置的值比它的當(dāng)前值大,數(shù)組將增大,新的元素被添加到數(shù)組的尾部,它們的值為權(quán)
undefined。
工具原料:編輯器、瀏覽器
1、如果一個(gè)數(shù)組為空則其屬性length為0否則為數(shù)組的實(shí)際長(zhǎng)度,代碼如下:
var a=[]
var b=[1,2,3]
a.length
b.length2、早console的控制臺(tái)的輸出結(jié)果如下:
3、a按照這個(gè)原理直接判斷數(shù)組的長(zhǎng)度即可判斷數(shù)組是否為空:
if(rr.length == 0){
console.log("數(shù)組為空");
獲取到當(dāng)前元素,if判斷value 是否 == “”;
if(?$("input").value?==?""??){
//為空時(shí)執(zhí)行
}else{
//不為空時(shí)執(zhí)行
}
//??The?Harder?You?Work,?The?Luckier?You?Will?Be.????(Jensonhui.com)
// 如果是一個(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ì)象 其他的寫(xiě)法要注意: // 這種方法不起作用 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
新聞名稱:jquery判斷是否為空,jq判斷文本框是否為空
鏈接分享:http://vcdvsql.cn/article44/dsdidee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、電子商務(wù)、自適應(yīng)網(wǎng)站、面包屑導(dǎo)航、定制網(wǎng)站
聲明:本網(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)