十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
需要检查一个对象(Object)是否为空,即不包含任何元素。Javascript 中的对象就是一个字典,其中包含了一系列的键值对(Key Value Pair)。检查一个对象是否为空,等价于检查对象中有没有键值对。写成代码,形如:
成都创新互联于2013年开始,先为平桂等服务建站,平桂等地企业,进行企业商务咨询服务。为平桂企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
if (isEmptyObject(obj)) {
// obj is empty
} else {
// not empty
}
至于 isEmptyObject 的实现,jQuery 中有一个很有想法的方式,请看代码:
function isEmptyObject(obj) {
for (var key in obj) {
return false;
}
return true;
}
尽管 Javascript 没有原生提供 isEmpty() 方法,但它提供了迭代器,可以用来遍历所有的键值对。于是 jQuery 所做的事情,就是尝试遍历,如果有任何一个键值对,即说明对象非空,直接返回 false。从效率上来说,由于只读取了一个元素,顶多加上一些跳出循环的开销,实际性能不会比原生方法差太多。
function isNullObj(obj){
for(var i in obj){
if(obj.hasOwnProperty(i)){
return false;
}
}
return true;
}
可以使用jquery的length属性实现判断数组是否为空。
具体步骤如下:
需要准备的材料分别是:电脑、浏览器、ultraedit。
1、在ue编辑器中新建一个空白的html文件,js文件。
2、在ue编辑器中输入以下html代码。
3、在ue编辑器中输入以下js代码。
4、编辑完成以后,在ue编辑器中点击保存,格式选择UTF8无BOM。
5、在浏览器中打开此html文件,可以看到最终想要实现的判断数组是否为空效果。
可以通过判断数组的长度length来判断数组是否为空,空数组的length值为空。数组的 length 属性总是比数组中定义的最后一个元素的下标大 1。对于那些具有连续元素,而且以元素 0 开始的常规数组而言,属性 length 声明了数组中的元素的个数。数组的 length 属性在用构造函数 Array() 创建数组时被初始化。给数组添加新元素时,如果必要,将更新 length 的值。
设置 length 属性可改变数组的大小。如果设置的值比其当前值小,数组将被截断,其尾部的元素将丢失。如果设置的值比它的当前值大,数组将增大,新的元素被添加到数组的尾部,它们的值为 undefined。
工具原料:编辑器、浏览器
1、如果一个数组为空则其属性length为0否则为数组的实际长度,代码如下:
var a=[]
var b=[1,2,3]
a.length
b.length
2、早console的控制台的输出结果如下:
3、a按照这个原理直接判断数组的长度即可判断数组是否为空:
if(rr.length == 0){
console.log("数组为空");
获取到当前元素,if判断value 是否 == “”;
if( $("input").value == "" ){
//为空时执行
}else{
//不为空时执行
}
// The Harder You Work, The Luckier You Will Be. (Jensonhui.com)
//有如下三种判断:
var A=$("#**).val();
if(A==null||A!=undefined||A==""){
//处理
}
还有另一种更简单的方法 测试过 可用:
var A=$("#**).val();
if(A.length0){
//非空处理
}
扩展资料:
这里解释一下null与undefined和”“的区别:
null:空对象\不是对象,转为数值为0
undefined:全局对象window的一个特殊属性.undefined表示”缺少值”,就是此处应该有一个值,但是还没有定义。转为数值为NaN.典型用法是:
(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。
参考资料:CSDN
// 如果是一个空对象 var obj = {}; obj == false; // true // 所以可以这样: if (obj) { // 这个意思是把obj强制转换成bool值,故会被转成false然后在if中做判断 // false } else { // true } // 如果obj不是一个空对象 var obj = {id: 1}; obj == true; // true // 原理同上 或者 : var obj=null; if(!obj){ //TODO:如果为空执行的代码 } js 实例如下:if (typeof(obj) == undefined) {//操作语句}如果typeof(obj) == undefined 为true则该对象不存在,当前脚本还没有定义该对象 其他的写法要注意: // 这种方法不起作用 if (x == undefined)//操作语句// 对象属性不存在, 声明了变量但从未赋值。实例:htmlbody script type=text/javascript if (typeof(ActiveXObject)==undefined) {alert(不存在ActiveXObject)}else {alert(存在ActiveXObject!!)} /script/body /html //返回的是:存在ActiveXObject,因为该对象是js里已经制定的对象已经由js定义声明过的,只要是js制定存在的都是非 undefined 但是如果改为:typeof(ActiveXObject1)==undefined 则返回的是不存在了ActiveXObject1 另外typeof(t1)==undefined 如果这个对象不存在于该脚本范围内,或者如果t1 是声明的变量但是没有初始化也就是没有赋值两者都会返回undefined 判断元素是否存在: script language=javascript function changelocation(){ if(document.getElementById(payment_info)) alert('true');else alert('false');} /script