JavaScript
文章平均质量分 82
JavaScript知识汇总
張猴子
这个作者很懒,什么都没留下…
展开
-
JavaScript系列之异步处理和事件循环
包含ajax、promise、async/await和事件循环。原创 2020-08-02 20:22:30 · 544 阅读 · 0 评论 -
JavaScript系列之函数执行上下文和闭包(作用域与作用域链)
内含词法作用域、变量对象、函数执行上下文、函数执行上下文栈、作用域链的概念和闭包的实质。另外,还通过具体的代码分析函数执行的整个过程。原创 2020-07-30 10:53:20 · 534 阅读 · 0 评论 -
JavaScript系列之this指向
包含this指向规则、new的实现机制和this相关的具体题目分析。原创 2020-07-29 21:07:08 · 175 阅读 · 0 评论 -
JavaScript系列之变量存储
包含引用类型和基本类型的区别,深拷贝终极解决方案,数据类型判断和0.1+0.2问题。原创 2020-07-29 20:05:37 · 710 阅读 · 0 评论 -
手写一个表单验证封装类
内含校验类全部代码和使用说明原创 2020-07-10 12:39:28 · 625 阅读 · 0 评论 -
es、js、nodejs傻傻分不清楚?(ECMAScript、JavaScript、nodejs的区别和联系)
目录ECMAScript、JavaScript、nodejs的区别和联系ECMAScriptJavaScriptNode.js联系js与nodejs的区别js引擎简单介绍ECMAScript、JavaScript、nodejs的区别和联系首先简单介绍一下:ECMAScript定义了语法,这是写JavaScript和nodejs都必须遵守的语法包含变量定义、循环、判断、函数,原型和原型链、作用域和闭包、异步不能操作DOM,不能监听click事件,不能发送ajax请求不能处理http请求,原创 2020-06-28 11:32:28 · 1701 阅读 · 1 评论 -
带你快速了解js的函数式编程
几个概念函数式编程函数式编程是一种范式,我们能够以此创建仅依赖输入就可以完成自身逻辑的函数。这保证了当函数被多次调用时仍然返回相同的结果。函数不会改变任何外部环境的变量,这将产生可缓存的、可测试的代码库。引用透明性引用透明性是指所有的函数对于相同的输入都将返回相同的值。那么在调用这个函数的时候,我们不必关心函数内部的实现,只用结果就好。你可以储存这个结果,甚至直接用结果去替换函数的调用。命令式和声明式命令式就是告诉编译器如何做。比如,遍历一个数组:const array = [1, 2,原创 2020-06-25 22:01:34 · 421 阅读 · 0 评论 -
js位运算详解及巧妙应用
位运算JavaScript中的数字以浮点数的形式64位存储。但在位运算中,数字被转换为有符号32位整数格式。每种位操作均直接在这32位数上实现结果,返回值也是有符号的32位整数。最后再将这32位的结果转换回64位数值。这种转换导致了一个严重的副效应,即在对特殊的NaN和Infinity值应用位操作时,这两个值都会被当成0处理。如果对非数值应用位操作符,会先使用Number()函数将该值转换为一个数值(自动完成),然后再应用位操作。得到的结果将是一个数值。js中的位运算有 按位或(|),按位与(&am原创 2020-05-22 18:10:53 · 2170 阅读 · 0 评论 -
AJAX对GET请求和POST请求的封装(JQuery及原生js)
//MyAjax.jsfunction objToStr(obj){ //为对象动态添加t属性 //处理IE浏览器同一个URL返回同一个结果的问题(使每次的URL都不相同) //每次都获取指定文件中最新的数据 obj.t = new Date().getTime(); var res = []; for(var key in obj){ ...原创 2019-04-25 20:00:45 · 1256 阅读 · 0 评论 -
正则表达式验证手机号和邮箱
手机号/^1[3456789]\d{9}$/邮箱/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/常用方法regExp.test(yourString)原创 2019-10-20 19:33:04 · 1519 阅读 · 0 评论 -
将script放在body中内容的最后的原因详解
chrome在页面渲染过程中的,绿色标志线是First Paint的时间。为什么会出现firstpaint,页面的paint不是在渲染树生成之后吗?其实现代浏览器为了更好的用户体验,渲染引擎将尝试尽快在屏幕上显示的内容。它不会等到所有HTML解析之前开始构建和布局渲染树。部分的内容将被解析并显示。也就是说浏览器能够渲染不完整的dom树和cssom,尽快的减少白屏的时间。假如我们将js放在heade...原创 2019-11-09 15:41:18 · 4791 阅读 · 1 评论 -
关于JavaScript的内存泄漏
目录什么是内存泄漏导致内存泄漏的原因一、意外地创建全局变量例子1:没有使用var例子2:this指向问题二、垃圾回收机制:引用计数法的循环引用限制闭包例子1:一个简单的闭包解决方案例子2:包含事件处理程序的闭包解决方案如何实时查看内存占用Chrome开发工具查看什么是内存泄漏js具有垃圾自动回收机制(GC)的语言。应用程序不再需要占用内存的时候,由于某些原因,本应被回收的内存没有被操作系统或可...原创 2020-03-23 13:04:43 · 287 阅读 · 0 评论 -
关于js的垃圾收集机制
目录原理标记清除法(主流方法)介绍限制引用计数法限制性能问题编写代码建议原理JavaScript具有自动垃圾回收机制,其原理是:找出不再继续使用的变量,然后释放其内存。这一操作会按照固定的时间间隔(或代码执行中预定的收集时间)周期性执行。而对于如何找出不再继续使用的变量,有标记清除法和引用计数法两种方法。标记清除法(主流方法)介绍这个算法把“对象是否不再需要”简化定义为“对象是否可以获得...原创 2020-03-20 17:06:18 · 155 阅读 · 0 评论 -
JS判断浏览器类型
function userBrowser(){ //浏览器名称 var browserName=navigator.userAgent.toLowerCase(); //浏览器版本号 var browserVer=(br.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, '0'])[1]; //根据浏览器名称判断浏...原创 2019-06-15 10:39:22 · 149 阅读 · 0 评论 -
用js将图片分成m*n个矩形块
这是效果图:上代码!!HTML<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>生成图片碎片</title> <script src="碎片.js"></script> <link rel=...原创 2019-04-04 17:19:43 · 3221 阅读 · 4 评论 -
js动态生成m*n的表格,并为表格设置样式(取消外边框,设置成网格)
<!doctype html><html><head><meta charset="utf-8"><title>js动态生成m*n的表格</title> <script> function insertTable(){ var m = document.getElementById("m").v...原创 2019-04-02 21:06:11 · 1399 阅读 · 0 评论 -
JavaScript兼容性处理
1.得到触发事件的元素if(evt){ //非IE环境 thisSquare = evt.target; } else{ //IE环境(看不见evt) thisSquare = window.event.srcEle...原创 2019-04-24 20:03:21 · 213 阅读 · 0 评论 -
js的defer属性、async属性和onload
首先看一下defer和async属性与html解析的时间关系在这里,可以看到,浏览器解析HTML时,如果遇到不带任何属性的script脚本,HTML解析会被阻塞,直到script执行完成,才继续解析浏览器解析HTML时,如果遇到带defer属性的script脚本,HTML解析与script加载并行发生,但script的执行要等到所有的HTML解析完成后才会发生浏览器解析HTML时,如果遇到带async属性的script脚本,HTML解析与script加载并行发生,但在script执行时,HTML原创 2018-12-03 15:41:41 · 2130 阅读 · 0 评论 -
关于JavaScript中的声明提升
目录声明提升变量提升函数提升函数声明和函数表达式辨析为什么会出现声明提升?声明提升变量提升观察如下代码:a = 1;var a;console.log(a);将js代码从上往下一行一行地分析:第一行声明了a全局变量,并赋值1(在非严格模式下,引擎进行LHS查询,在全局作用域中创建一个具有名称a的变量)第二行再次声明变量a,将a重新默认值undefined打印a按照以上思...原创 2020-02-19 16:26:01 · 264 阅读 · 0 评论 -
关于事件冒泡和事件捕获
这里写自定义目录标题什么是事件事件流事件冒泡和事件捕获的概念事件冒泡事件捕获事件冒泡示例事件捕获示例阻止冒泡方法一方法二(jQuery,同时会阻止默认事件)什么是事件事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间。JavaScript与HTML之间的交互就是通过事件实现的。可以用侦听器或处理程序来预定事件,以便事件发生时执行相应的代码。事件流事件流描述的是从页面接收事件的顺序。为什...原创 2020-01-31 16:31:28 · 764 阅读 · 0 评论