![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
Tansum
Hello world!
展开
-
动态添加的新元素没有绑定旧元素的事件
原来的绑定方式—————动态添加的新元素不会绑定原本定义的事件,$("[name='provinceCode']").change(function(){ //具体操作});改成下面这种方式,原来的元素和动态添加的新元素都能绑定事件$("#insertDataDiv tbody").on("change","[name='provinceCode']",function(){ //具体操作});其中,$("#insertDataDivtbody")选择器是要绑定..原创 2021-04-23 14:52:17 · 259 阅读 · 0 评论 -
邮箱校验错误——带中文句号也能通过校验
我们所要的邮箱校验正则表达式为^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$但下面这种使用方式有错误,会使中文句号也能通过校验:var regExp = new RegExp("^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$");//中文句号也能通过原因:使用构造函数创造正则对象需要进行转义;正确方式:1.构造函数创造.原创 2021-03-23 10:27:39 · 490 阅读 · 0 评论 -
前端HTML拼接时,用onclick等方法传递对象解决办法
方法如下:JSON.stringify(obj).replace(/\"/g,"'")其中,obj为对象例子:html += '<a onclick="setStatus(' + JSON.stringify(obj).replace(/\"/g,"'") +');">设置状态</a>';原创 2021-03-23 09:40:37 · 594 阅读 · 0 评论 -
正则表达式 - 千分位分隔符
若对下文中 ?= 和 ?: 不是很了解的同学可以先看看:正则表达式 ?= ?! 和 ?:下面来看看给数字添加千分位的正则表达式方法:let num = "12345678";console.log(num.replace(/(\d)(?=(?:\d{3})+$)/g,'$1,'))//"12,345,678"让我们来解析一下上面的代码。正则表达式 /(\d)(?=(?:\d{3...原创 2019-11-21 15:18:07 · 8409 阅读 · 0 评论 -
正则表达式 ?= ?! 和 ?:
我们先来看 ?= 和 ?! ,它们的作用如下:?= n 匹配任何其后紧接指定字符串 n 的字符串。 ?! n 匹配任何其后没有紧接指定字符串 n 的字符串。 零宽断言是一种零宽度的匹配,它匹配的内容不会保存到匹配结果中,也不会占用index宽度,最终匹配的结果只是一个位置。零宽断言分为四类正向零宽先行断言(前瞻) exp1(?=exp2) 匹配e...原创 2019-11-20 09:56:09 · 1410 阅读 · 0 评论 -
Jquery ajax和Axios区别
Jquery ajax是对原生XHR的封装,除此以外还增添了对JSONP的支持。$.ajax({ type: 'POST', url: url, data: data, dataType: dataType, success: function () {}, error: function () {}});缺点:本身是针对MVC的编程,不符合...原创 2019-11-07 09:22:01 · 1743 阅读 · 0 评论 -
forEach、map和filter的区别
forEachforEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。注意: forEach() 对于空数组是不会执行回调函数的。语法:array.forEach(callback(currentValue, index, arr), thisValue)callback(currentValue, index, arr)必需。 数组中每个元素需要调用的函数。...原创 2019-11-05 17:14:45 · 3800 阅读 · 2 评论 -
防抖与节流
防抖(debounce)频繁触发某事件时,把这些事件合并成一次去执行。即在指定时间内只执行一次回调函数,如果在指定的时间内又触发了该事件,则回调函数的执行时间会基于此刻重新开始计算。以生活中乘车刷卡的情景举例,只要乘客不断地在刷卡,司机师傅就不能开车,乘客刷卡完毕之后,司机会等待几分钟,确定乘客坐稳再开车。如果司机在最后等待的时间内又有新的乘客上车,那么司机等乘客刷卡完毕之后,还要再等待...原创 2019-11-04 10:40:08 · 285 阅读 · 0 评论 -
JavaScript关于函数声明定义的一些代码题
js里面没有函数重载的概念,在其他语言中(如java)java中,可以存在同名函数,只要传入的参数数量或者类型不同即可。在js中,声明了多个同名函数后,后面的函数会覆盖前面的函数。var m= 1, j = k = 0; function add(n) { return n = n+1; } y = add(m); function add(n) { re...原创 2019-10-26 11:40:37 · 333 阅读 · 0 评论 -
函数中this的绑定
函数中的this总指向调用它的对象。默认绑定当一个函数没有明确的调用对象的时候,也就是单纯作为独立函数调用的时候,将对函数的this使用默认绑定:绑定到全局的window对象。凡是函数作为独立函数调用,无论它的位置在哪里,它的行为表现,都和直接在全局环境中调用无异。//1function fire () { console.log(this === window)}fir...原创 2019-10-17 11:47:55 · 201 阅读 · 0 评论 -
手写实现call函数
在大厂的面试中,手写实现call,apply,bind(特别是bind)一直是比较高频的面试题,在这里我们先来实现一下call函数。思路根据call的规则设置上下文对象,也就是this的指向。 通过设置context的属性,将函数的this指向隐式绑定到context上 通过隐式绑定执行函数并传递参数。 删除临时属性,返回函数执行结果Function.prototype.myCa...原创 2019-10-08 17:37:20 · 1809 阅读 · 0 评论 -
关于setTimeout的一道经典面试题
想必大家都见过这一道经典的面试题:for (var i = 1; i <= 5; i++) { setTimeout(function test() { console.log(i) // 依次输出:6 6 6 6 6 }, i * 1000);}造成这个现象的原因是等到setTimeout异步执行时,i已经变成6了。(不了解的小伙伴可以去看下JS...原创 2019-10-08 15:47:48 · 688 阅读 · 0 评论 -
JS判断数据类型方法(1)- Object.prototype.toString
1.Object.prototype.toString用来判断类型再合适不过,借用它几乎可以判断所有类型的数据。console.log(Object.prototype.toString.call({}))//[object Object]console.log(Object.prototype.toString.call([]))//[object Array]console.log(...原创 2019-10-08 11:30:39 · 463 阅读 · 0 评论 -
事件源的获取
事件源:在事件中,当前操作的那个元素即为事件源。常用3种的事件源获取方法:1.通过id名:document.getElementById("ID名");2.通过标签名:document.getElementsByTagName("标签名");3.通过类名:document.getElementsByClassName("类名");也可通过名称获取:document.getEle...原创 2019-04-14 21:18:05 · 1923 阅读 · 0 评论