js
文章平均质量分 58
bdawn
JS全栈|软件工程师,负责公司所有前后端项目的开发和管理。
展开
-
深入剖析CommonJS modules和ECMAScript modules
在 JavaScript 生态系统中,模块化编程已经成为构建大型、可维护应用的关键技术。CommonJS 和 ECMAScript Modules (ESM) 作为两种主要的模块化标准,各自承载着历史的重量和未来的愿景。本文将深入探讨这两种模块系统的设计哲学、语法差异、运行时行为以及在现代开发环境中的地位变迁。原创 2024-07-18 15:24:24 · 1178 阅读 · 0 评论 -
html+js+css实现一个圆形滑块
产品经理设计了这样一个需求,通过拖动圆形滑块实现时间的设置功能,虽然看着有点复杂,但是确实有点复杂。原创 2023-10-29 23:41:27 · 1457 阅读 · 5 评论 -
Mockjs之模块化开发,假数据真香!
实际开发中Mockjs的用法,如果你的前端项目中有上百个接口时,就不能把模拟数据的代码写在业务代码里面,这个时候就需要将Mock数据单独放在一个模块中,并根据生产环境还是开发环境来决定是否启动mock模块。原创 2023-03-09 11:08:02 · 684 阅读 · 1 评论 -
Mockjs之后端兄弟不给力只能靠自己了
你的后端兄弟接口还没写好?那就让`Mockjs`来拯救你吧!让你在没有真实数据的情况下也能开开心心地写代码。原创 2023-03-08 22:26:03 · 219 阅读 · 0 评论 -
js数组排序
js数组排序数组排序函数reverse() 将原数组反向排序sort()将数组所有元素按字符串进行排序let arr = [1, 25, 6, 33, 22, [4, 9]]console.log(arr.reverse()); // [ [ 4, 9 ], 22, 33, 6, 25, 1 ]console.log(arr.sort()); // [ 1, 22, 25, 33, [ 4, 9 ], 6 ]自定义排序sort()可接收一个比较函数作为参数比较函数有两个参数a和b原创 2021-04-01 17:39:49 · 192 阅读 · 0 评论 -
es6数组新增函数from()和of()
es6数组新增函数from()和of()from()将可迭代结构转换为数组console.log(Array.from('js')) // [ 'j', 's' ]数组的浅复制let a1 = ['js', 'html', 'css', {k1: 1, k2: 2}]let a2 = Array.from(a1)console.log(a2); // [ 'js', 'html', 'css', { k1: 1, k2: 2 } ]console.log(a1[3] === a2[3]);原创 2021-04-01 16:56:58 · 238 阅读 · 0 评论 -
js get set 访问器
js 访问器访问器用于设置和获取对象的私有属性如下示例代码就可以动态获取人的年龄,而且年龄只能根据生日计算得出,不需要也不能手动设置class Person { constructor(name) { this.name = name } get birthday() { return this.birthday_ } set birthday(birthday) { this.birthday_ = birthday } get age() {原创 2021-04-01 11:29:23 · 217 阅读 · 0 评论 -
es6 迭代器
es6 迭代器迭代器是es6新增的特性主要包含两个概念:迭代器和被迭代对象被迭代对象被迭代对象必须包含一个键为Symbol.iterator的属性,此属性返回一个迭代器。所有es6之后可以通过Symbol.iterator的返回值是否为undefined判断一个对象是否可迭代。迭代器用来迭代一个对象的对象。必须包含一个next函数,此函数返回一个对象.{done:false, value: ''}done: 布尔类型,表示是否迭代完成。true 表示迭代完成,当前对象以及后续ne原创 2021-03-29 17:12:24 · 238 阅读 · 0 评论 -
dom事件冒泡机制
dom事件冒泡机制冒泡:html元素触发事件之后会将事件向上冒泡,交给父元素处理,依次向上,直到浏览器窗口window示例<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> #pre { width: 200px;原创 2021-03-17 13:43:19 · 321 阅读 · 0 评论 -
鼠标拖拽调整div大小
##鼠标拖拽调整div大小实现思路根据鼠标位置改变鼠标样式当鼠标在div的边缘和四个角时显示不同的样式,通过cursor修改当鼠标在div的边缘和四个角按下时记录具体坐标点位置, 并开始根据鼠标的移动修改div的尺寸鼠标松开时结束尺寸修改代码实现<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title&原创 2021-03-04 18:00:08 · 7549 阅读 · 6 评论 -
TypeScript介绍
What-什么是TypeScriptTypeScript是一种基于JavaScript的开源的编程语言TypeScript开发的程序文件扩展名为.ts,使用Babel或其他编译器编译为js文件,最终被浏览器或node平台执行Differentia-TS&JS对比看这张图我们可以了解到TS是JS的超集,TS代码中可以无区别插入JS代码,拥有JS所有的优点TypeScript相对于JavaScript最大的特点就是可选的静态类型下面代码直接为一个变量设置类型let str:strin原创 2021-01-12 17:51:36 · 363 阅读 · 0 评论 -
async & await
async & await简介async:异步,用于定义函数为异步函数,定义的异步函数返回一个promiseawait:等待,等待异步函数执行完成ES2017之前处理异步一般都是promise,之后加入了async & awaitasync & await本身时建立在promise的基础上,所以要更好的理解async & await需要清楚promise工作方式let a = async () => { return await new Promise(r原创 2020-09-10 13:33:13 · 145 阅读 · 0 评论 -
Promise 处理异步操作的js标准内置对象
Promise 处理异步操作的js标准内置对象基础用法Promise 用来处理异步操作的js标准内置对象创建一个promise// 创建promise对象let pro = new Promise((resolve, reject) => { setTimeout(() => { // 正常完成 resolve('success') // 异常情况 //reject('fail') }, 500)})// 使用promise对象pro.t原创 2020-09-07 13:17:43 · 194 阅读 · 0 评论