
JavaScript
JavaScript
偏执zz
今天的你我怎样重复昨天的故事
展开
-
Google浏览器控制台使用本地文件替代网页资源-源代码-source (“替代”选项卡)
有时需要尝试网页的一些可能的修补程序,但无法访问源文件,或者更改页面需要缓慢而复杂的生成过程。可以在 DevTools 中调试和修复所有类型的问题。但更改不会持久存在:刷新本地文件后,所有工作都会消失。“源”工具中的“替代”功能可帮助你解决此问题。现在可以获取当前网页的资源并将其存储在本地。刷新网页时,浏览器不会从服务器加载资源;相反,浏览器会将服务器资源替换为资源的本地副本。原创 2024-06-14 17:20:15 · 3104 阅读 · 0 评论 -
JS - 计算两个数组的交集、差集、并集、补集
使用ES5语法来实现虽然会麻烦些,但兼容性最好,不用考虑浏览器JavaScript版本。也不用引入其他第三方库。而在 ES6 中我们可以借助扩展运算符(…)以及 Set 的特性实现相关计算,代码也会更加简单些。(1)为方便使用,我们可以对数组功能进行扩展,增加一些常用的方法。1,直接使用 filter、concat 来计算。2,对 Array 进行扩展。原创 2024-06-14 17:08:32 · 4452 阅读 · 0 评论 -
js千分位保留两位小数
如果用我标题的关键字去搜索引擎查的话,估计搜出来的都是正则啊或者字符串截取等类似的实现方法。根本没这么麻烦,来体验下现代JavaScript的魅力吧。JavaScript实现千分位并且保留两位小数。千分位且保留两位小数。原创 2024-04-29 16:38:32 · 512 阅读 · 1 评论 -
JS数组删除指定的元素
如果我们需要删除数组中的元素,可以使用 splice() 方法。该方法接受两个参数,第一个参数指定要删除的元素的位置,第二个参数指定要删除的元素个数。除了使用 splice() 方法,我们还可以使用 filter() 方法来删除数组中的元素。如果我们想删除数组中的特定元素,可以使用这些方法与 indexOf() 方法结合使用。slice() 方法是一个纯函数,它不会改变原始数组,而是返回一个新的数组,该数组包含从开始到结束(不包含结束)的元素。我们可以根据需求选择适合自己的方法来删除数组中的元素。原创 2023-08-08 13:40:11 · 710 阅读 · 0 评论 -
ECMAScript6特性es6
Promise的构造函数接收一个参数,是函数,并且传入两个参数:resolve,reject,分别表示异步操作执行成功后的回调函数和异步操作执行失败后的回调函数。get方法用于拦截某个属性的读取操作,可以接受三个参数,依次为目标对象、属性名和 proxy 实例本身(即this关键字指向的那个对象),其中最后一个参数可选。Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。但是,它与 Set 有两个区别。原创 2023-08-08 13:36:16 · 139 阅读 · 0 评论 -
37个前端JS基本面试问题
由于其中一个操作数(“2”)是一个字符串,所以JavaScript假定需要执行字符串连接,因此将1的类型转换为“1”,1 +“2”转换为“12”。因此,“1”变为1,然后在应用 - 时将其变为-1,然后将其加1到产生0,然后转换为字符串并与最终的“2”操作数连接,产生“02”。示例4:+“1”+“1”+“2”输出:“112”说明:尽管第一个“1”操作数是基于其前面的一元+运算符的数值类型转换的,当它与第二个“1”操作数连接在一起时返回一个字符串,然后与最终的“2”操作数连接,产生字符串“112”。原创 2023-08-08 13:29:43 · 921 阅读 · 0 评论 -
JavaScript文件上传读取文件、web worker、WebSocket/求最大值/Webuploader/判断安卓和IOS/位操作符/无穷大/web API
调用Object.defineProperty()方法,它接收三个参数:对象,属性名,描述符对象(必须是:configurable、enumberable、writable和value,可设置一个或多个值)。这个链接预取 API 非常有用,让开发者可以控制网页资源在后台安静的预先加载,这样用户在浏览网站或者使用 Web 应用程序的时候能够有流畅的使用体验。顾名思义,这是一个电池 API ,明显是为移动设备准备的,用于监控电池的状态。第二个参数 protocol 是可选的,指定了可接受的子协议。原创 2023-08-08 10:15:14 · 318 阅读 · 0 评论 -
js中split正则表达式
那么colorText.split(/[^,]+/)的意思应该是以“不是‘,’的多个字符”作为分隔符,所以在本例中就是以red,blue,green,书上的解释是因为通过正则表达式指定的分隔符出现在了字符串的开头(即子字符串“red”)和末尾(即子字符串“yellow”),所以第一项和最。yellow作为分隔符,因为red作为分隔符前面没有内容,所以是空字符串,最后一个空字符串也是这样的道理。我想开始不太理解还是因为对正则表达式的理解不够,/[^,]+/的意思应该是不是“,”的多个字符,原创 2023-08-08 09:34:00 · 729 阅读 · 0 评论 -
js 对象的长度/toDataURL/移动端click/发短信,winphone系统无效/深拷贝/箭头函数中的this
);}) $("span:contains('全体会议')") function Percentage(number1 , number2) {// 小数点后两位百分比 } 计算百分比 2 / 10 × 100 % = 20 %由百分数计算回整数 用百分数的数字乘以0.01,或者将小数点向左移动两位,将3%转换成0.03。console.log(Math.round(2 / 14 * 100) + “%”) 这种方法不会保留小数。原创 2023-08-07 10:08:50 · 125 阅读 · 0 评论 -
jquery-ajax摘录
因为Load不仅仅可以导入静态的html文件,还可以导入动态脚本,例如PHP文件,所以要导入的是动态文件时,我们可以把要传递的参数放在这里。两个参数url,[callback]String,FunctionV1.0url:待载入 JS 文件地址。type:返回内容格式,xml, html, script, json, text, _default。type:返回内容格式,xml, html, script, json, text, _default。data:待发送 Key/value 参数。原创 2023-08-07 10:01:32 · 92 阅读 · 0 评论 -
前端常用正则表达式
5.验证Email地址。原创 2023-08-07 09:59:17 · 164 阅读 · 0 评论 -
JS获取屏幕分辨率 及 窗口尺寸
要得到窗口的尺寸,对于不同的浏览器,需要使用不同的属性和方法:若要检测窗口的真实尺寸,在Netscape下需要使用Window的属性;Document对象的body属性对应HTML文档的标签。event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量。网页可见区域宽: document.body.offsetWidth (包括边线的宽)网页可见区域宽:document.body.offsetWidth (包括边线的宽)原创 2023-08-07 09:57:17 · 2428 阅读 · 0 评论 -
JS中的逻辑运算符剖析
逻辑运算中,0、“”、null、false、undefined、NaN都会判为false,其他都为true。算数运算符,赋值运算符,位操作符,三元运算符,一元运算符,比较运算符,条件运算符等等等等巴拉巴拉…只要前者是false,无论后面是true还是false,结果都将返回前面的值;只要前者是true,无论后面是true还是false,结果都将返回后面的值;只要前者为false,不管后面是true还是false,都返回后面的值。只要前者为true,不管后面是true还是false,都返回前面的值。原创 2023-08-05 13:10:58 · 93 阅读 · 0 评论 -
前端页面导出excel文件乱码解决
页面端导出Excel&csv插件(ExcellentExport) 兼容各浏览器 下载。原创 2023-08-05 13:06:36 · 450 阅读 · 0 评论 -
window.showModalDialog更换window open兼容主流浏览器
打开一个模态对话框, 必须先关闭它, 才能关闭打开它的父窗口.只有ie内核浏览器支持-----还有另一个不常用的:window.showModelessDialog()打开一个非模态对话框, 它的存在依赖于打开它的父窗口, 如果父窗口关闭, 此窗口也被关闭.我们平常用window open较多,但这是个普通窗口 传参就有些乏力了只是打开窗口的话 更换open就好了,传参的话,在csdn看到的例子 稍后去验证。原创 2023-08-05 13:05:11 · 520 阅读 · 0 评论 -
JavaScrip async/await js 同步
最近在 2021-11-13 更新。原创 2023-08-05 13:01:34 · 88 阅读 · 0 评论 -
JSON.parse(JSON.stringify(obj)) 假深拷贝的漏点
这行代码的运行过程,就是利用 JSON.stringify 将js对象序列化(JSON字符串),再使用JSON.parse来反序列化(还原)js对象;(对象本身存储的是一个地址映射,如果断电,对象将不存在,所以要将对象的内容转换成字符串的形式再保存在磁盘上)以上,如果拷贝的对象不涉及上面的情况,可以使用 JSON.parse(JSON.stringify(obj)) 实现深拷贝。在js中,怎么用一行代码实现深拷贝?它可以实现: JSON.parse(JSON.stringify(obj))。原创 2023-08-04 10:16:40 · 195 阅读 · 0 评论 -
浏览器标签页被隐藏或显示的时候操作事件
visibilitychange事件是浏览器新添加的一个事件,当浏览器的某个标签页切换到后台,或从后台切换到前台时就会触发该消息,现在主流的浏览器都支持该消息了,例如Chrome, Firefox, IE10等。虽然这只是一个简单的功能,但是能够广大的采用HTML5开发游戏的开发者提供方便,比如用户正在玩游戏时,突然切换到后台去发一条短信或打一个电话,再切换到游戏,那么开发者就需要捕捉对这些突发情形进行处理,当游戏切换到后台时就暂停游戏,从后台切换回来时,又能允许用户继续游戏。true时代表标签不可见。原创 2023-08-04 10:12:26 · 291 阅读 · 0 评论 -
JS常用的保留小数后两位方法
【代码】JS常用的保留小数后两位方法。原创 2023-08-04 10:11:22 · 333 阅读 · 0 评论 -
for循环里使用confirm出现的问题
confirm与alert一样,会阻止页面继续操作, 必须点击完成,但是判断form表单val是否为空时,难念会循环判断val,事后才想明白,一定要把comfirm写在for循环外,否则,即使判断正确或是错误,confirm都会如期执行,break也无效,还是提交。javascript没有多线程的概念,所有的程序都是单线程依次执行的,所以大可不必担心循环的判断是否已走或覆盖,放在外面,只有当上面for循环全部执行完后,才会进行下面的语句。导致原有的逻辑,不复存在,下面是修改后的。原创 2023-08-04 10:10:58 · 183 阅读 · 0 评论 -
JS前端new FileReader获取文件后显示乱码
什么破玩意 让我整整搞了一下午 各种试 java代码都翻了个遍。,别听百度啦论坛啦 UTF-8。原创 2023-08-04 09:39:07 · 349 阅读 · 0 评论 -
JS读取input file文件内容new FileReader
/新建一个FileReader。//读取完文件之后会回来这里。原创 2023-08-04 09:38:17 · 2223 阅读 · 0 评论 -
瀑布流布局columns
瀑布流布局其核心是基于一个网格的布局,而且每行包含的项目列表高度是随机的(随着自己内容动态变化高度),同时每个项目列表呈堆栈形式排列,最为关键的是,堆栈之间彼此之间没有多余的间距差存大。还是上张图来看看我们说的瀑布流布局是什么样子。当初要实现这样的布局都是依赖于JavaScript来实现,所以当时出现过很多实现瀑布流布局的插件。比如等都是非常有名的插件。但使用纯CSS来实现,当时还是非常困难的,不管是使用float还是布局都无法很好的控制列表项目堆栈之间的间距。原创 2023-08-02 11:18:37 · 260 阅读 · 0 评论 -
JavaScript Object所有方法
除了上面介绍的方法,还有一些实验方法,和不常用的方法,可以在这里找到。原创 2023-08-02 11:13:15 · 133 阅读 · 0 评论 -
nodeList HTML js类数组转换数组
你可以通过父节点获得childNodes(n),如果要获得节点下的所有a元素。可以遍历childNodes所得数组,然后判断targetName。属性 / 方法 描述。原创 2023-08-02 11:10:15 · 191 阅读 · 0 评论 -
常用的js知识点
除了Math.floor()方法,我们还可以巧用~~、>>或|。原创 2023-08-02 11:07:29 · 56 阅读 · 0 评论 -
前端编码解码方式记录
提示:如果 URI 组件中含有分隔符,比如?和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。原创 2023-08-02 11:04:42 · 80 阅读 · 0 评论 -
try catch getComputedStyle js设置css变量 setProperty 记录
try 语句测试代码块的错误。catch 语句处理错误。throw 语句创建自定义错误。getPropertyValue方法可以获取CSS样式申明对象上的属性值(直接属性名称)原创 2023-08-02 10:59:20 · 193 阅读 · 0 评论 -
前端处理后台返回二进制流文件
不怕 还有 XMLHttpRequest2 不在话下。jquery是不支持接受二进制流的。原创 2023-08-02 10:55:09 · 204 阅读 · 0 评论 -
JS/node:Blob、ArrayBuffer和Buffer
我们首先来介绍Blob,Blob是用来支持文件操作的。简单的说:在JS中,有两个构造函数 File 和 Blob, 而File继承了所有Blob的属性。所以在我们看来,File对象可以看作一种特殊的Blob对象。在前端工程中,我们在哪些操作中可以获得File对象呢?请看:(备注:目前 File API规范的状态为Working Draft)我们上面说了,File对象是一种特殊的Blob对象,那么它自然就可以直接调用Blob对象的方法。让我们看一看Blob具体有哪些方法,以及能够用它们实现哪些功能。原创 2023-08-01 09:35:03 · 1519 阅读 · 0 评论 -
js引擎线程概念记录杂文
假如js是多线程执行,那么很可能出现同一时刻有两个线程在操作同一个UI DOM元素,并且假如一个线程用于给DOM元素添加样式,而另一个线程用于删除DOM元素。虽然,我们也可以实现某些 锁 来规避这种线程操作互斥的情况,但是这一定会给js开发带来更大的复杂性。web worker标准,允许js脚本去创造多个线程,但是这些线程中只有一个主线程,而且其他线程都受主线程的控制,所以,js的本质依然是单线程。node 既然他们是驱动 JavaScript 的工具,所以它们也是由 JavaScript 引擎驱动。原创 2023-08-01 09:33:17 · 220 阅读 · 0 评论 -
js获取上传文件大小 兼容各浏览器
1.获取上传文件的大小。原创 2023-07-31 14:08:46 · 356 阅读 · 0 评论 -
js获取页面图片的大小kb
正常来说 如果不依靠input file 单纯获取img kb确实没想到什么好的方法,如果input的话 主流浏览器和ie都有各自的方法实现 ,单纯获取页面静态资源图片大小,ie filesize还是可以的。不过 这个存在点偏差问题 我测试了 和ie获取的小几kb 不是什么大问题。最近在谷歌上看到的这个方法 顿时茅塞顿开。w3c浏览器就用ajax来吧!原创 2023-07-31 14:08:14 · 895 阅读 · 0 评论 -
替代indexOF的ES6-Array.includes()函数的用法
在ES5,Array已经提供了indexOf用来查找某个元素的位置,如果不存在就返回-1,但是这个函数在判断数组是否包含某个元素时有两个小不足,第一个是它会返回-1和元素的位置来表示是否包含,在定位方面是没问题,就是不够语义化。ES6提供了Array.includes()函数判断是否包含某一元素,除了不能定位外,解决了indexOf的上述的两个问题。第二个参数也可以是负数,表示从右数过来第几个,但是不改变判断搜索的方向,搜索方向还是从左到右。includes()函数的第二个参数表示判断的起始位置。原创 2023-07-31 14:05:52 · 269 阅读 · 0 评论 -
ES6...扩展操作符骚操作
不过,扩展属性并不总能生成与 Object.assign() 相同的结果 具体自己去试验下 要点 == setter。如果存在相同的值 后者覆盖前者。原创 2023-07-31 14:05:25 · 291 阅读 · 0 评论 -
Array.from()方法之什么是类数组对象
Array.from还可以接受第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。1、该类数组对象必须具有length属性,用于指定数组的长度。如果没有length属性,那么转换后的数组是一个空数组。实践证明,答案会是一个长度为0的空数组。所谓类数组对象,最基本的要求就是具有length属性的对象。会发现结果是长度为4,元素均为undefined的数组。ps: 该类数组对象的属性名可以加引号,也可以不加引号。2、该类数组对象的属性名必须为数值型或字符串型的数字。原创 2023-07-31 14:04:24 · 238 阅读 · 0 评论 -
a标签下载图片音频跳转显示问题踩坑解决
此问题对于客户端应用场景不大,但是走到此步,认真想了一番,blob里二进制数据无法判断类型,所以根据判断类型来给出后缀名想法落空。回到此问题,客户端方面实现解决方法,根据当前相应操作,来赋值当前a标签download属性文件名后缀,判断用户操作,如果文本存储为txt html等类型,如图片 canvas.taDataUrl后指定"image/jpeg",或是在new blob第二参数指定MIME类型,以对象形式 key val,踩坑实践实记。正确操作 启动localhost或其他环境。原创 2023-07-31 13:59:58 · 337 阅读 · 0 评论 -
JS不区分大小写匹配字符串高亮模拟浏览器Ctrl+F
当时写的 toLocaleLowerCase 转换大小写, 但是这样无疑会更改页面原油的大写字母,不算实现需求;houlai ,写出另一种方法,问题得以解决。函数里有三个参数,不明白的童鞋可以console.log在控制台查看。以上两种方法都不失为好的解决办法,多写多想,加油加油!通过arguments来访问,我看完后顿时恍然大悟。参数2 :要替换的 字符串 或函数。参数1:字符串或正则。原创 2023-07-31 13:59:04 · 477 阅读 · 0 评论 -
input file文件上传限制大小类型
switch还可定义image图片之类,office。我大小是按照10M需求来的,各位自行定义。等多种类型,具体按照自己业务需求来定义。原创 2023-07-31 13:54:42 · 1023 阅读 · 0 评论 -
JS在生产环境屏蔽console.log的方法以及意义
因此最好不要在页面中console.log任何大对象,这样可能会影响页面的整体性能,特别在生产环境中。除了console.log外,另外还有console.dir、console.error、console.warn等都存在类似的问题,这些细节需要特别的关注。有时在开发时,需要打印一些对象信息,但发布时却忘记去掉console.log语句,这可能造成内存泄露。在传递给console.log的对象是不能被垃圾回收 ♻️,因为在代码运行之后需要在开发工具能查看对象信息。原创 2023-07-28 09:32:04 · 1339 阅读 · 0 评论