JS

JS

JS

79 文章 话题 1580 浏览

JS 技巧篇 之 观察者模式

观察者模式(又叫发布-订阅者模式)应该是最常用的模式之一,在很多语言里都得到大量应用。包括我们平时接触的 dom 事件,也是 js 和 dom 之间实现的一种观察者模式。 document.body.addEventListener("click", function() { alert("Hello World"); }); document.body.click(); 在这里需要监控用户点击 …

妞丶爷亲个 2022-06-23 浏览 961 评论 0 收藏 0

JS 模块化编程不完全指北(Commonjs、AMD、CMD、ES6 modules)

称职的作家会把他的书分章节和段落;好的程序员会把他的代码分成模块。 模块化可以使你的代码低耦合,功能模块直接不相互影响。对可维护性、命名空间、可复用性上起了极大的作用。 一个模块就是实现特定功能的文件,有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。模块开发需要遵循一定的规范,否则就都乱套了。 一、模块模式(Module模式) 早年间,JS 还只是委身于 HTML <…

JSmiles 2022-06-21 浏览 789 评论 0 收藏 0

我理解的 JS 运行机制及 Event Loop

基础篇 单线程的问题 JS 从诞生起就是一门单线程的语言。至于为什么是单线程,是因为作者认为 JS 是在浏览器执行的脚本语言,对它的要求不是很高,早期的网页对 JS 需求没那么高,都是轻量级的。而且写起来一定要简单,而多线程逻辑会造成交互、DOM 操作复杂。 但是单线程带来的问题就是,上一个任务没执行完,下一个任务就会一直等待。但在浏览器中,比如页面的某一部分需要从服务端获取数据展示,要发送 aj…

梦在深巷 2022-05-17 浏览 945 评论 1 收藏 0

JS 中那些骚气的小技巧 OR 代码片段

JS 有很多小技巧可以使代码更精简、更简单。今天主要分享一些技巧,在平时的工作中可以大大的缩短代码量和开发时间。

葵雨 2022-05-10 浏览 900 评论 7 收藏 0

深入浅出 ES6 PDF 文档

深入浅出 ES6 是一款专注于程序方面的电子图书,这款电子书内容丰富,讲解的非常详细,通俗易通,非常适用于 ECMAScript 6 入门人员使用。 ES6 是对语言的一次重大升级。同时,现有的 JavaScript 代码仍能继续运行。ES6 在设计的时候就保证了与现有代码的最大兼容性。事实上,很多浏览器已经支持了一些 ES6的特性,并不断努力实现剩余的部分。这就意味着包含 ES6 特性的 Jav…

JSmiles 2022-02-26 浏览 819 评论 0 收藏 0

JS 程序员应该知道的 bind 方法

先别让我去 UC,先看看这段代码: const objA = { num: 1, }; const objB = { num: 2, }; function fn() { console.log(this.num); } fn = fn.bind(objA); fn = fn.bind(objB); fn(); 答案是啥? 竟然是... 1 在 @malcolmyu 同学的点拨下,猜测 bind …

JSmiles 2022-02-25 浏览 883 评论 0 收藏 0

学习 JavaScript 正确的方式

这是一份为 JavaScript 新手准备的指南,同时也包含了可以给高手学习的最佳资料 虽然本网站的名字是 the right way,但并不代表是学习 JavaScript 的唯一方法。 我们只是将一些顶尖开发者的文章、提醒和技巧收集于此。由于它是由一些非常厉害的网名身上收集而来,故称之为 the right way 或是最佳做法。 开始入门 关于 由网景公司在 1995 年给网景浏览器 2.0…

JSmiles 2022-02-18 浏览 805 评论 0 收藏 0

IE 的 JS 兼容性问题

在与产品撕扯之后,确定了我们的系统,只支持 IE9+,而且控制台系统,只支持 IE11。但就算这样,IE 照样爆出 bug 来。 1、ajax 强制 304 例子:请求了一个列表——添加一条数据——再请求这个列表——数目不添加,打开 IE 的开发工具查看,数据又正常了,使用抓包工具查看,原来 IE 会把之前请求过的 ajax 地址,都当做 304 给处理,直接拿的缓存,没走实际的后台接口。 解决方…

虐人心 2021-12-26 浏览 776 评论 0 收藏 0

ES6 学习之箭头函数

作用 函数目的指向性更强,可读性更好,简化代码,提升开发效率 特点 不用写 function 关键字; 只能作为函数使用不能 new,没有原型; 参数不能重复命名; 返回值可以不写 return,但有时需要配合 {}; 内部 arguments this 由定义时外围最接近一层的非箭头函数的 arguments 和 this 决定其值; 使用 常规使用 var sum = (a, b) =>…

别再吹冷风 2021-12-18 浏览 914 评论 0 收藏 0

前端开发之模块化编程

模块化的目的是组织大规模的程序开发,做法可以是定义一个类、一组相关的类、一个函数库、一些待执行的代码,只要以模块的形式编写代码,任何JavaScript代码段都可以当做一个模块。 最早的开发 前端开发的早期 JavaScript 文件都是被嵌到 <script> 标签中,并且共享一个全局变量 window,问题是容易导致变量冲突,比如一个脚本的变量会修改了另外一个脚本在用到的全局变量。…

别再吹冷风 2021-12-18 浏览 937 评论 0 收藏 0

ES6 教程之基本语法

let, const, forEach,for of class, extends, super arrow functions, template string, destructuring, default, rest arguments 以上是我们需要掌握的常用的 ES 新特性,一个一个的玩,不要怕,下面这段代码是模板,写完ES6可以直接跑在最新版 Chrom 浏览器上的,其他浏览器估计跑不…

终止放荡 2021-12-14 浏览 885 评论 0 收藏 0

正则表达式练习

入参格式参考: const sourceUrl = "https://www.taobao.com?a=1&b=2&c=3&d#name"; 出参格式参考: const params = { a: 1, b: 2, c: 3, d: null }; "a=1&b=2&c=3&d".match(/\w+(=\d+)?/g) // ["a=1", "b=…

酷到爆炸 2021-12-03 浏览 993 评论 0 收藏 0

ES6 学习之 babel 工具的使用

babel 是一个用于将 es6 以上版本的代码转换为向后兼容的 JS 语法的工具,以便代码在当前版本和旧版本浏览器中正常运行。 babel 有在线网站和本地运行两种使用方式。 在线对比工具 (国外网站)bablejs.io (国内网站)bablejs.cn 本地下载 在线网站优点是方便快捷,但是如果我们想将整个项目的代码都进行对比的话,在线网站用起来就不是那么舒服啦,这时候我们可以选择本地下载该…

酒几许 2021-11-30 浏览 998 评论 0 收藏 0

coolie 之 JS 模块依赖分析、合并、压缩、版本管理

一、引子 假设现在要做一台计算机,coolie 是帮你这样做到的: 根据你的要求,从全世界购买各种零件,包括 CPU、主板、网卡等。 将这些零件封装成一台看起来比较丑陋的计算机原型。 将多余的电线剪掉、去除多余的零件,加上包装盒。 coolie 就这么漂亮的完成了你分配给它的任务,任劳任怨。 本文将从 JS 模块依赖分析、合并、压缩、版本管理开始讲讲 coolie 到底能做什么,值得作者这么牛气哄…

命硬 2021-11-29 浏览 1012 评论 0 收藏 0

ES11 新增特性和方法

matchAll 方法 matchAll() 方法返回一个包含所有匹配正则表达式的结果的迭代器。使用 for...of 遍历或者使用 操作符 ... Array.from 将其转换成数组。 const reg = /[0-3]/g; const data = '2020'; console.log(data.matchAll(reg));//data.matchAll 的返回值是一个迭代器 con…

JSmiles 2021-11-28 浏览 1007 评论 0 收藏 0

简介

JavaScript 是一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。

更多

推荐作者

qq_pH6xKF

文章 0 评论

robert

文章 0 评论

南街九尾狐

文章 0 评论

北渚

文章 0 评论