JS 闭包的底层运行机制

JS 闭包的底层运行机制

我研究JavaScript闭包(closure)已经有一段时间了。我之前只是学会了如何使用它们,而没有透彻地了解它们具体是如何运作的。那么,究竟什么是闭包?Wikipedia给出的解释并没有太大的帮助。闭包是什么时候被创建的,什么时候被销毁的?具体的实现又是怎么样的?"use strict";var myClosure = (functionouterFunction(){v
浏览:529 标签: 闭包 时间: 2020-05-08 17:30
js数组中的 indexOf 方法详解

js数组中的 indexOf 方法详解

最近项目遇到一个小问题代码我会简化成小例子展示给大家。用心看到最后会有收获哈,基础扎实的童鞋可以直接跳到数组类型使用。说到 indexOf 大家并不陌生,判断字符串是否包涵子字符串时特别常用(正则不熟练同学的利器)。String 类型的使用温习一下大家熟知的字符串用法,举个例子let str ='orange';str.indexOf('o');//0str.in
浏览:507 标签: indexOf 数组 时间: 2020-05-08 17:11
JS事件委托详解

JS事件委托详解

基本概念事件委托,通俗地来讲,就是把一个元素响应事件(click、focus……)的函数委托到另一个元素;一般来讲,会把一个或者一组元素的事件委托到它的父层或者更外层元素上,真正绑定事件的是外层元素,当事件响应到需要绑定的元素上时,会通过事件冒泡机制从而触发它的外层元素的绑定事件上,然后在外层元素上去执行函数。举个例子,比如一个宿舍的同学同时快递到了,一种方法就是他们都傻
浏览:553 标签: 事件委托 时间: 2020-05-08 16:58
JavaScript Promise详解

JavaScript Promise详解

Ajax 出现的时候,刮来了一阵异步之风,现在 Nodejs 火爆,又一阵异步狂风刮了过来。需求是越来越苛刻,用户对性能的要求也是越来越高,随之而来的是页面异步操作指数般增长,如果不能恰当的控制代码逻辑,我们就会陷入无穷的回调地狱中。ECMAScript 6 已经将异步操作纳入了规范,现代浏览器也内置了 Promise 对象供我们进行异步编程,那么此刻,还在等啥?赶紧学习学习
浏览:506 标签: Promise 时间: 2020-05-08 14:51
js时间戳转换日期格式和日期计算

js时间戳转换日期格式和日期计算

1、格式化时间/** * 格式化时间 * * @param {time} 时间 * @param {cFormat} 格式 * @return {String} 字符串 * * @example formatTime('2018-1-29', '{y}/{m}/{d} {h}:{i}:{s}') // -> 2018/01/29 00:00:00 */f
浏览:501 标签: 日期 时间: 2020-05-08 14:34
js易混淆的split()、splice()、slice()方法详解

js易混淆的split()、splice()、slice()方法详解

一、Split()    Split是切割字符串的一种方法,该方法主要用于把一个字符串分割成字符串数组。    用于字符串对象。    s.split(separator, howmany)参数描述separator必需。字符串或正则表达式,从该参数指定的地方分割s。howmany可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指
浏览:512 标签: 时间: 2020-05-08 14:32
js数组常用方法总结

js数组常用方法总结

1、 join()功能:将数组中所有元素都转化为字符串并连接在一起。输入: 分隔符,默认为逗号输出:分隔符分割的字符串// join(separator) 不传参,默认用逗号拼接var arr = [1,2,3];var arr2 = [1,2,3]; arr = arr.join();console.log(arr);// 1,2,3 arr2 = ar
浏览:503 标签: 数组 时间: 2020-05-08 14:25
正则校验身份证号码

正则校验身份证号码

严格的身份证校验// 严格的身份证校验 isCardID(sId) {if (!/(^\d{15}$)|(^\d{17}(\d|X|x)$)/.test(sId)) { alert('你输入的身份证长度或格式错误')returnfalse }//身份证城市var aCity={11:"北京",12:"天津",13:"河北",14
浏览:543 标签: 正则 身份证 时间: 2020-05-08 13:54
彻底读懂前端跨域CORS

彻底读懂前端跨域CORS

前端小伙伴在使用AJAX的时候,相信对No Access-Control-Allow-Origin header这样的报错提示感到很头疼,怎么请求又跨域了。在开发中,前端的童鞋们每次看到浏览器下面出现一长串红色的跨域报错就会很恼火,不停的念叨着:那个谁谁谁,又没有给我加跨域头;后端小伙伴又会毫不示弱地反击道:不就是 Access-Control-Allow-Origin: *
浏览:1301 标签: 跨域 CORS AJAX 时间: 2019-10-21 15:33
js防抖和节流

js防抖和节流

防抖概念(Debounce)函数防抖(debounce)是指在一定时间内,在动作被连续频繁触发的情况下,动作只会被执行一次,也就是说当调用动作过n毫秒后,才会执行该动作,若在这n毫秒内又调用此动作则将重新计算执行时间,所以短时间内的连续动作永远只会触发一次,比如说用手指一直按住一个弹簧,它将不会弹起直到你松手为止。节流概念(Throttle)函数节流是指一定时间内执行的操
浏览:1200 标签: 防抖 节流 js 时间: 2019-10-18 15:38
利用reduce和forEach方法对数组对象去重

利用reduce和forEach方法对数组对象去重

方法一:采用对象访问属性的方法,判断属性值是否存在,如果不存在就添加。方法二:采用数组中的reduce方法,遍历数组,也是通过对象访问属性的方法var arr = [{ key:'01', value:'乐乐' }, { key:'02', value:'博博' }, { key:'03',
浏览:1155 标签: 数组对象 去重 reduce forEach 时间: 2019-05-16 10:35
理解e.clientX e.pageX  e.offsetX t.screenX

理解e.clientX e.pageX e.offsetX t.screenX

event.clientX、event.clientY鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条。IE事件和标准事件都定义了这2个属性event.pageX、event.pageY类似于event.clientX、event.clientY,但它们使用的是文档坐标而非窗口坐标。这2个属性不是标准属性,但得到了广泛支持。IE事件中没有
浏览:2433 标签: clientX pageX offsetX 时间: 2018-04-11 16:04

邮箱快速注册

忘记密码