
JavaScript
JavaScript笔记
想成为工程师的菜鸟
学的不仅是技术,更是梦想!
展开
-
Promise 的错误处理方式
Promise 的错误处理方式原创 2022-12-16 14:31:41 · 4263 阅读 · 0 评论 -
Promise
Promise原创 2022-12-09 16:51:49 · 671 阅读 · 0 评论 -
onbeforeunload 事件在即将离开当前页面(刷新或关闭)时触发。
防止用户误操作:刷新或者关闭页面时进行提示原创 2022-12-09 14:55:25 · 905 阅读 · 0 评论 -
事件处理程序
事件处理程序冒泡事件:事件开始时由最具体的元素接收,然后逐级向上传播到较为不具体的节点(文档)注意:IE9以上支持事件捕获:由不太具体的节点更早的接收事件,而最具体的节点应该最后接收4种事件处理程序HTML事件处理程序DOM0级事件处理程序DOM2级事件处理程序IE事件处理程序1、HTML事件处理程序<input type="button" value="点击" onclick="alert('点击成功')" />缺点:HTML与js无分离,后期不易维护2、D原创 2020-11-15 16:15:20 · 145 阅读 · 0 评论 -
H5跳转第三方小程序
1.h5业务代码中先跳转到自己小程序的一个页面,带上参数,包括用户的信息及所要跳转的appId $('.service img').click(function () { var ua2 = navigator.userAgent.toLowerCase(); if (ua2.match(/MicroMessenger/i) == "micromessenger") { wx.miniProgram.getEnv(function (res) { if (res.minip原创 2021-09-06 14:13:14 · 1030 阅读 · 0 评论 -
input框只允许输入正整数
input框只允许输入正整数<input type="text" oninput="if(this.value=='00'){this.value='0';}else{this.value=this.value.replace(/[^0-9]/g,'')}"/>原创 2021-10-26 18:28:56 · 518 阅读 · 2 评论 -
并发模型与事件循环
JavaScript 有一个基于事件循环的并发模型,事件循环负责执行代码、收集和处理事件以及执行队列中的子任务。栈函数调用形成了一个由若干帧组成的栈。function foo(b) { let a = 10; return a + b + 11;}function bar(x) { let y = 3; return foo(x * y);}console.log(bar(7)); // 返回42当调用 bar 时,第一个帧被创建并压入栈中,帧中包含了bar 的参数和局本变量。原创 2022-02-21 15:41:59 · 140 阅读 · 0 评论 -
截取url参数
// 截取url参数var str3 = {};var str1 = "./index.php?i=22&c=entry&m=ewei_shopv2&do=mobile&r=goods&isrecommand=1";var str = str1.slice(str1.search(/\?/i)+1)str2 =String(str.split("&"));str4 = String(str2.split("="));str5 = str4.spl原创 2021-10-15 10:10:33 · 362 阅读 · 0 评论 -
多个并行秒杀倒计时
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>多个原创 2021-10-15 10:37:46 · 102 阅读 · 0 评论 -
操作存储、cookie
1、操作存储// 1、存储loalStorageconst loalStorageSet = (key,value) => { if(!key) return; if(typeof value !== 'string'){ value = JSON.stringify(value); } window.localStorage.setItem(key,value);}// 2、获取localStorageconst loalStorageGe原创 2021-11-08 09:56:26 · 588 阅读 · 0 评论 -
内存管理。
内存管理简介像C语言这样的底层语言一般都是有底层的内存管理接口,比如malloc() 和 free()。相反,JavaScript是在创建变量(对象,字符串等)时自动进行了分配内存,并且在不使用它们时“自动”释放。释放过程称为垃圾回收机制。这个“自动”是混乱的根源,并让JavaScript(和其他高级语言)开发者错误的感觉它们可以不关心内存管理内存生命周期不管什么程序语言,内存生命周期基本是一致的:1、分配你所需要的内存2、使用分配到内存(读、写)3、不需要时将其释放/归还所以语言第二部分都原创 2022-02-18 16:55:16 · 93 阅读 · 0 评论 -
某个时间点的倒计时
// 剩余时间戳转换时分秒 // 秒杀时间 时 分 秒 datatime((new Date(new Date().toLocaleDateString()).getTime() + 14 * 60 * 60 * 1000).toString().slice(0, -3), Date.parse(new Date()).toString().slice(0, -3)) console.log((new Date(new Date().toLocaleDateStri..原创 2022-04-02 10:18:31 · 334 阅读 · 0 评论 -
JavaScript 小技巧
1、获得一个随机数的布尔值const randomBoolean = () => Math.random() >= 0.52、检查所提供的日期是否为工作日const iwWeekday = (date) => date.getDay() % 6 !== 03、反转字符串const reverse = str => str.split('').reverse().join()4、检查当前标签是否隐藏const isBrowserTabInVeiw = () =>原创 2021-08-20 16:35:55 · 84 阅读 · 0 评论 -
实现滚动加载
滚动顶部+页面高度 >= 滚动高度$(window).scroll(function() { var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; var scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight; var clientHeight = document.docu原创 2022-03-02 15:05:35 · 321 阅读 · 0 评论 -
JS点击复制文本
function copyfun(txt){ // 传复制的文本 var copyipt = document.createElement("input"); var text = txt; copyipt.setAttribute("value", text); document.body.appendChild(copyipt); copyipt.select(); document.execCommand("copy"); docume.原创 2022-05-19 11:28:14 · 285 阅读 · 0 评论 -
JS中Safari浏览器中的Date
在js中处理Date时,发现Safair和其他浏览器的支持方式不一致1、例如:2021-12-08 11:00:00在其他浏览器中,使用这个格式的字符串进行new Date操作没问题,但是在Safari中会提示Invalid Date;Safari中不支持‘-’格式的日期字符串,将其替换成‘/’变成2021/12/08 11:00:00即可正常使用2、例如:2021-12-08T11:00:00此格式的日期字符串在Safari中也是不得到支持的,需要将字符串中的‘T’替换成空格// 时间格式转时原创 2021-12-08 11:12:00 · 720 阅读 · 0 评论 -
input输入框输入金额校验;判断字符串是否是金钱
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Doc原创 2021-12-30 18:55:57 · 1472 阅读 · 0 评论 -
使用Promise
使用PromisePromise 是一个对象,它代表了一个异步操作的最终完成或者失败。因为大多数人不仅仅是使用创建的Promise实例对象,所以本教程将首先说明怎样使用Promise,再说明如何创建Promise。本质上Promise是一个函数返回的对象,我们可以在它上面绑定回调函数,这样我们就不需要在一开始把回调函数作为参数传入这个函数了。假设现在有一个名为createAudioFileAsync()的函数,它接收一些配置和两个回调函数,然后异步地生成音频文件。一个回调函数在文件成功创建时被调用,另原创 2022-02-17 12:17:41 · 404 阅读 · 0 评论 -
判断是安卓还是IOS
//判断是安卓还是IOS function checkSystem() { var u = window.navigator.userAgent, app = window.navigator.appVersion; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //g var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)..原创 2022-04-06 10:42:02 · 363 阅读 · 0 评论 -
js获取路由参数
// 获取路由参数 getUrlOption(){ let str = location.search.substr(1).split("&"); let obj = {}; str.forEach(e => { let list = e.split("="); obj[list[0]] = list[1];原创 2022-04-27 10:00:55 · 4547 阅读 · 0 评论 -
实现瀑布流
.waterfall { position: relative; } .waterfall .spread-item { width: 44%; padding: 0.2rem 0px; padding-left:4%; }function shop(){ $.ajax({ type: "POST", u...原创 2022-03-02 15:40:34 · 141 阅读 · 0 评论 -
如何渲染几万条数据并不卡住页面
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Doc原创 2022-02-24 15:27:27 · 172 阅读 · 0 评论