前言 JavaScript是web前端广泛应用的语言之一,在网页应用制作、脚本制作、小程序等诸多领域具有不可替代的的地位。笔者学习了一端时间的前端,颇感JS知识点的繁碎,故将学习到的一...
javascript
js实现简单购物车模块
本文实例为大家分享了js实现简单购物车模块的具体代码,供大家参考,具体内容如下 主要功能 输入框正则判断,两位数小数,开头可以为0 如果商品名字相同,自动数量+1,如果名字...
js实现简单省市区三级选择联级
本文实例为大家分享了js实现省市区三级选择联级的具体代码,供大家参考,具体内容如下 代码: !DOCTYPE htmlhtml lang="en" head meta charset="UTF-8" titleTitle/title /head body select id="province" option-...
js中parseInt()诡异行为的探究与改正
探讨背景: 不知道小伙伴们有没有发现,如果是parseInt(0.006)或者parseInt(0.0006)等返回的值都应该 0,但是parseInt(0.0000006)返回的值却诡异的 6,这到底为什么呢? parseInt函数的作用...
JavaScript哪些场景不能使用箭头函数
目录 1. 定义对象方法 2.定义原型方法 3. 定义事件回调函数 4. 定义构造函数 1. 定义对象方法 JS 中对象方法的定义方式是在对象上定义一个指向函数的属性,当方法被调用的时候,方法...
原生js如何实现call,apply以及bind
【本文来源:高防服务器 转载请保留连接】 1、实现call 步骤: 将函数设为对象的属性; 指定this到函数,并传入给定参数执行函数; 执行之后删除这个函数; 如果不传入参数,默认指...
Javascript前端优化代码
目录 if 判断的优化 1、最简单的方法:if 判断 2、好一点的方法:Switch 3、更优的方法: 策略模式 includes 的优化 for 循环 数组去重 1、最传统的方法:利用数组的indexOf下标属性来查询。...
你可能不需要在JavaScript使用switch语句
目录 没有 switch 就没有复杂的代码块 从 Python 获得的启示 使用字典的方式替换 switch 性能怎么样? 没有 switch 就没有复杂的代码块 switch很方便:给定一个表达式,我们可以检查它是否与...
详细讨论JavaScript中的求值策略
目录 一栗以蔽之 参数传递 按值传递 按共享传递 总结 延伸 - 惰性求值 最近在研究 lambda演算 中的 η-变换 在JavaScript中的应用,偶然在 stackoverflow 上看到一个比较有意思的问题。关于...
详解JS中的compose函数和pipe函数用法
目录 compose函数 Array.prototype.reduce Array.prototype.reduceRight pipe函数 compose函数 compose函数可以将需要嵌套执行的函数平铺,嵌套执行就是一个函数的返回值将作为另一个函数的参数。我们考...
如何使JavaScript休眠或等待
目录 概述 检查setTimeout () 如何编写sleep函数 一个简单的选择 它会循环运行吗? 总结 概述 JavaScript不具有 sleep()函数,该函数会导致代码在恢复执行之前等待指定的时间段。如果需要J...
js数组去重的11种方法
在实际工作或面试中,我们经常会遇到“数组去重”问题,接下来就是使用js实现的数组去重的多种方法: 1.将数组的每一个元素依次与其他元素做比较,发现重复元素,删除 var arr =...
如何利用js在两个html窗口间通信
场景:当A页面打开B页面,在B页面操作后,A页面需要同步变更数据时 A 页面 ,http://127.0.0.1:10001/A.html var domain = 'http://127.0.0.1:10001';window.open('http://127.0.0.1:10001/B.html');window.addEventListener('...
如何用JavaScript检测当前浏览器是无头浏览器
目录 什么是无头浏览器(headless browser)? 为什么叫“无头”浏览器? 为什么要检测无头浏览器? 检测无头浏览器 User agent 插件 Plugins 语言 WebGL 浏览器特征 加载失败的图片 什么是无头浏...
测量JavaScript函数的性能各种方式对比
目录 概述 Perfomance.now Console.time 缩短时间精度 需要注意的事项 分而治之 注意输入值 多次运行函数 ...在多个浏览器中 节流你的CPU 测量相对表现 总结 概述 测量执行一个函数所需的时间...
理解与使用JavaScript中的回调函数
目录 概述 什么是回调或者高阶函数 回调函数是怎样运作的? 回调函数是闭包 实现回调函数的基本原理 使用命名或匿名函数作为回调 传递参数给回调函数 在执行之前确保回调函数是...
Javascript异步编程之你真的懂Promise吗
目录 前言 基本用法 语法 错误处理 Promise链式调用 async await 常用的方法 1、Promise.resolve() 2、Promise.reject() 3、Promise.all() 4、Promise.allSettled() 5、Promise.race() 6、Promise.prototype.finally() 实际应用...
浅谈JS包装对象
目录 概述 定义 实例方法 原始类型与实例对象的自动转换 自定义方法 Boolean 对象 概述 Boolean 函数的类型转换作用 Number 对象 概述 静态属性 实例方法 自定义方法 String 对象 概述 静态方...
js精准计算
var numA = 0.1; var numB = 0.2; alert( numA + numB ); 0.1 + 0.2 = 0.30000000000000004。 计算精度误差问题(和二进制相关)。 对于浮点数的四则运算,几乎所有的编程语言都会有类似精度误差的问题,只...
如何用JavaScript让你的浏览器说话
目录 1. 最简单的例子 2. 自定义语速和音调 3. 怎么调整音量 4. 常用的函数 5. 事件监听 6. 总结 1. 最简单的例子 让我们来创建一个基础函数,这个函数的参数为我们想说的话或者词,最...
怎样用JS模拟实现枚举
前言 在当前的JavaScript中,并没有枚举这个概念,在某些场景中使用枚举更能保证数据的正确性,减少数据校验过程,下面就介绍一下JavaScript如何模拟实现枚举效果。 枚举主要特点 枚...
比较JavaScript对象的四种方式
目录 前言 引用比较 手动比较 浅层比较 深层比较 总结 前言 比较JavaScript中的原始值非常简单。只需使用任何一种可用的相等运算符即可,例如严格相等运算符: 'a' === 'c'; // = false1 =...
原生JS封装vue Tab切换效果
本文实例为大家分享了原生JS封装vue Tab切换的具体代码,供大家参考,具体内容如下 先看效果图 使用的技术 vue,js,css3 vue组件 可以直接使用 template div class="bookcircle-header" ul class="wrappe...
10大Js图像处理库
目录 介绍 1.Pica 2. Lena.js 3. Compressor.js 4. Fabric.js 5. Blurify 6. Merge Images 7. Cropper.js 8. CamanJS 9. MarvinJ 10. Grade 介绍 对于很多人来说,使用JavaScript来处理图像不是一件非常简单的事情,幸运的...
JS异步堆栈追踪之为什么await胜过Promise
概述 async/await和Promise的根本区别在于await fn()暂停当前函数的执行,而promise.then(fn)在将fn调用添加到回调链后,继续执行当前函数。 const fn = () = console.log('hello')const a = async () = { await f...
JS Object构造函数之Object.freeze
目录 概述 示例 1) 冻结对象 2) 冻结数组 3) 浅冻结 4) 深冻结 存在的意义 概述 Object.freeze(obj)可以冻结一个对象。一个被冻结的对象再也不能被修改; 冻结了一个对象则不能向这个对象添...
JS如何为promise增加abort功能
目录 概述 promise race方法 重新包装promise AbortController Axios插件自带取消功能 概述 Promise只有三种状态:pending、resolve、reject,一个异步的承诺一旦发出,经历等待(pending)后,最终只能为...
JavaScript使用canvas绘制坐标和线
本文实例为大家分享了JavaScript使用canvas绘制坐标和线的具体代码,供大家参考,具体内容如下 具体代码如下: !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" title在指定位置画多个点/title sty...
JavaScript控制台的更多功能
目录 概述 console.log console.info console.warn console.error console.table console.assert console.group 和 console.groupEnd 结论 概述 你可能在JavaScript项目中都用了console.log。这是一种查看变量的值或程序运行...
JS什么场景不适合箭头函数
目录 概述 定义对象上的方法 Object literal Object prototype 动态上下文的回调函数 调用构造函数 简写语法 总结 概述 这些年来,ES6 将js的可用性提升到一个新的水平时: 箭头函数、类等等...
JS如何理解data URL
目录 概述 初识data URL data URL语法 字符串base64编解码的多种语言实现 1.unix 2.javascript 3.nodejs 4.python 5.php 6.java 7..net data URL常见问题 概述 canvas有一个非常常用的方法canvas.toDataURL(),它会将...
JS对象复制(深拷贝和浅拷贝)
目录 一、浅拷贝 1、Object.assign(target,source,source...) 2、扩展运算符(spread) 二、深拷贝 1、使用对象序列化 JSON.stringify()和JSON.parse() 2、使用递归,对对象属性进行判断 一、浅拷贝 1、O...
如何使用JavaScript策略模式校验表单
目录 概述 未使用策略模式的表单校验 使用策略模式优化 策略模式的优点 总结 概述 Web项目中,登录,注册等等功能都需要表单提交,当把用户的数据提交给后台之前,前端一般要做一...
7个你应该知道的JS原生错误类型
目录 概述 1. RangeError 2. ReferenceError 3. SyntaxError 4. TypeError 5. URIError 6. EvalError 7. InternalError 总结 概述 从浏览器控制台到运行 Node.js的终端,我们到处都会看到错误。本文的重点是概述我们...
详解TypeScript中的类型保护
目录 概述 类型断言 in语法 instanceof 语法 typeof 语法 总结 概述 在 TypeScript 中使用联合类型时,往往会碰到这种尴尬的情况: interface Bird { // 独有方法 fly(); // 共有方法 layEggs();}interface...
聊聊JS ES6中的解构
概述 es6新增了一种从数组或者对象中获取指定元素的方式,这种方式就是我们今天要说的解构。 先来说说数组的解构 在有解构之前呢,我们获取数组中的指定元素通常是根据索引去做...
JS ES6异步解决方案
目录 最初使用回调函数 es6 异步处理模型 为该异步模型量身打造的API : promise 最初使用回调函数 由于最初j s官方没有明确的规范,各种第三方库中封装的异步函数中传的回调函数中的...
JavaScript实现随机码的生成与校验
JavaScript之随机码的生成与校验,供大家参考,具体内容如下 由于获取事件源有两种写法,所以在此处都附上: 这个是直接用var去定义的 !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" title随...
JavaScript实现长图滚动效果
本文实例为大家分享了JavaScript之长图滚动的具体代码,供大家参考,具体内容如下 长图的滚动会涉及定时器: 我们先来回顾下定时器: !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" title定...
JavaScript实现点击改变图片形状(transform应用)
JavaScript之点击改变图片形状(transform的应用),供大家参考,具体内容如下 附上代码: !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" titletransform的运用/title style type="text/css" #box{ width: 50px;...
JavaScript实现简单日期特效
JavaScript之日期特效的具体代码,供大家参考,具体内容如下 直接上代码: !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" titleTitle/title style type="text/css" *{ padding: 0; margin: 0; } #date{ width: 450px;...
JS Canvas接口和动画效果大全
目录 概述 Canvas API:绘制图形 路径 线型 矩形 弧线 文本 渐变色和图像填充 阴影 Canvas API:图像处理 CanvasRenderingContext2D.drawImage() 像素读写 CanvasRenderingContext2D.save(),CanvasRenderingContext2...
JavaScript实现显示和隐藏图片
JavaScript之显示和隐藏图片,供大家参考,具体内容如下 点击按钮可以显示和隐藏图片(默认显示),附上代码: !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" title显示和隐藏图片/title/head...
JavaScript实现淘宝商品图切换效果
JavaScript之衣服相册切换效果(类似淘宝商品图切换),供大家参考,具体内容如下 话不多说,直接上代码: !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" titleTitle/title style type="text/css" #big...
详解JavaScript中的执行上下文及调用堆栈
目录 一、执行上下文是什么 二、执行上下文栈是什么 三、执行上下文栈的过程细节 (一)创建阶段 (二)执行阶段 一、执行上下文是什么 代码运行是在一定的环境之中运行的,这个...
详解Js模块化的作用原理和方案
目录 一、模块化概念 二、模块化作用 三、模块化历程 1、普通写法(全局函数及变量) 2、对象封装 3、匿名函数方式 四、模块化方案 1、CommonJS 2、AMD 3、CMD 4、ES6 module 一、模块化概念...
何时使用Map来代替普通的JS对象
目录 1. Map 接受任何类型的键 2. map 对键名没有限制 3. map 是可迭代 4. map 的大小 1. Map 接受任何类型的键 如前所述,如果对象的键不是string或symbol,JS 将隐式地将其转换为字符串。 幸运...
JavaScript实现简单图片切换
本文实例为大家分享了JavaScript实现简单图片切换的具体代码,供大家参考,具体内容如下 下边给出几种方法进行图片切换: 方法一 (小白专用款!简单易懂) 下边附上代码: !DOCTY...
微信小程序视频弹幕位置随机
本文实例为大家分享了微信小程序视频弹幕位置随机的具体代码,供大家参考,具体内容如下 最近更新开发工具之后,微信小程序视频播放弹幕不再自动随机,所以就用了一个比较取巧...
JS ES6展开运算符的几个妙用
目录 1. 添加属性 2. 合并多个对象 3. 移除对象属性 4.动态移除属性 5. 调整属性顺序 6. 设置属性默认值 7: 属性重命名 8. 还有更秀的操作 1. 添加属性 复制对象的同时,为其添加新的属性...