JS空数组的判断

news/2024/7/19 13:22:11 标签: js, 数组为空, 判断

JS空数组的判断
  • 前言
  • input监听值改变事件
  • 1.onchange事件
  • 2.oninput和onpropertychange事件
  • 判断数组为空

前言

  最近在做一个mini项目,被大神各种鄙视,基础知识确实是不扎实,加油加油。好了,不多废话,抽空写写遇到的两个知识点,就记录下来,写博客还是能帮忙整理记录的,不然过了就忘记了。

input监听值改变事件

1.onchange事件

  开始使用的就是该事件,这个事件可以监听到input标签里面的值改变,但是有一个必须是当前元素失去了焦点(onblur)时才可以激活这个事件,所以有的时候体验很不好,如我的需求是input标签值不为空的时候,我的checkbox标签就可以点击了,这时就必须是在input外面点击一下触发该事件,然后才能去点击我的checkbox标签。体验很不好,所以放弃该事件。

2.oninput和onpropertychange事件

  这两个事件就可以满足我们的需求了,input值改变时实时的触发该事件,onpropertychange是IE下的方法。

判断数组为空

  如下代码所示: 

复制代码
var arr = new Array();

//输出为it is true
if(arr){
    console.log("it is true");
}

//输出为it is false
if(arr == true){
    console.log("it is true")
}else{
    console.log("it is false");
}

Boolean(arr);  //true

Number(arr); //0

Number(false); //0

Number(true); //1
复制代码

  看到这个结果是不是明白了。在new Array()一个空数组时,是一个Object对象,所以if(arr)时是true。

     在进行数组直接与true和false的布尔类型比较时,默认是将数组和布尔类型都转化为了Number类型进行比较,空数组转化为Number类型时为0。

    所以我们可以通过arr == true来判断数组不为空,或者我想到的另一个也可以通过arr.length !== 0来判断数组不为空


http://www.niftyadmin.cn/n/798062.html

相关文章

ios --跳转到支付宝

//跳转到支付宝- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{NSString *reqUrl request.URL.absoluteString;DLog("reqUrl:% \n",reqUrl);DLog("reques…

OpenCV 学习:最近邻插值与双线性插值

最近邻插值与双线性插值一、最近邻插值(The nearest interpolation)二、 双线性插值(Bilinear Interpolation)一、最近邻插值(The nearest interpolation) 原理: 最近邻插值是最简单的一种插值…

javascript中的call()和aplay()两个方法的区别

call和aplay的作用相同,但是参数传递方式不同。 区分apply,call就一句话, foo.call(this, arg1,arg2,arg3) foo.apply(this, arguments)this.foo(arg1, arg2, arg3) 

mybatis向mysql插入datetime和date的区别

MyBatis3做数据持久层&#xff0c;在字段中有Date和DateTime类型&#xff0c;在插入数据时只要将实体的属性设置成Timestamp就会对应mysql的DateTime类型&#xff0c;Date会对应mysql的Date类型。 在MyBatis映射文件中要表明映射类型。 [html] view plaincopy print?<resul…

PhotoZoom安装之后没有快捷方式怎么解决?

相信初次安装PhotoZoomPro的小伙伴都有这样的经历&#xff0c;就是软件安装完成之后桌面上并没有生成快捷方式&#xff0c;而且在所有程序里也找不到这个软件。这样的话&#xff0c;对于下次启动软件就相当困难了&#xff0c;甚至有些朋友为此又重新安装了一遍&#xff0c;那么…

页面中引入地图

http://api.map.baidu.com/lbsapi/creatmap/ 可以在页面中引入地图&#xff0c;效果如下图&#xff1a;

OpenCV学习:直方图均衡化

直方图均衡化 在图像处理中&#xff0c;经常用到直方图&#xff0c;如颜色直方图、灰度直方图等。 图像的灰度直方图就描述了图像中灰度分布情况&#xff0c;能够很直观的展示出图像中各个灰度级所占的多少。 图像的灰度直方图是灰度级的函数&#xff0c;描述的是图像中具有该灰…

小程序——返回上个页面触发事件(onUnload)

//页面销毁前——上传被提交的数据onUnload:function(){var _thisthis;let updateStatus wx.getStorageSync(UpdateStatus);//判断是否有未上传的数据if(updateStatus){wx.showModal({title: 提示,content: 是否上传本地数据&#xff1f;,success: function(res) {if (res.con…