JS
文章平均质量分 71
木森林哥哥
学习是一种信仰!
展开
-
JavaScript设计模式
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖原创 2022-11-16 18:42:36 · 960 阅读 · 1 评论 -
JavaScript中 slice, substr 和 substring 的区别
slice, substr 和 substring 的区别。1. 它们都接收两个参数首先,它们都接收两个参数,slice 和 substring接收的是起始位置和结束位置(不包括结束位置),而substr接收的则是起始位置和所要返回的字符串长度。var test = 'hello world'console.log(test.slice(4, 7)) // o wconsole.log(test.substring(4, 7)) // o wconsole.log(test.substr(4原创 2022-11-10 10:36:33 · 685 阅读 · 0 评论 -
js重点手写
css的各种居中-三个小盒子在一个大盒子中水平居中。css的各种居中-多行居中。原创 2022-09-18 01:11:35 · 137 阅读 · 0 评论 -
20 个既简单又实用的 JavaScript 小技巧
我们可以使用 window.scrollTo() 平滑滚动到页面顶部。你一定遇到过这样的场景,需要全屏播放视频,并在浏览器中全屏打开页面。原创 2022-08-16 16:04:32 · 830 阅读 · 0 评论 -
webpack 快速入门教程
目录1、了解 Webpack 相关什么是 webpack五大“护法”理解 Loader理解 Plugins配置文件(默认)2、准备工作3、小试牛刀4、使用 webpack 配置文件5、js 语法检查6、js 语法转换7、打包 less 资源8、打包样式文件中的图片资源9、打包其他资源10、打包 html 文件11、自动编译打包运行12、准备生产环境13、提取 css 成单独文件14、添加 css 兼容15、压缩 css16、压缩 html17、高频面试题1、了解 Webpack 相关什么是 webpac原创 2021-05-23 18:41:36 · 1100 阅读 · 4 评论 -
谈一谈 cookie
目录nodejs 模块化的暴露和引入谈一谈 cookie谈一谈 缓存谈一谈 session分析 module.exports 和 exports 的区别nodejs 轮询机制微任务和宏任务高频面试题nodejs 模块化的暴露和引入暴露:使用 module.exports.XXX=XXX: 给暴露的对象扩展一个XXX方法。使用:module.exports = XXX:暴露的直接就是XXX方法。exports.XXX = XXX: 给暴露的对象扩展一个XXX方法。exports = XXX:原创 2021-05-23 17:00:32 · 300 阅读 · 0 评论 -
分析 正常外部引入 js 和 defer、async 属性的区别
目录请分析 正常外部引入 js 和 defer、async 属性的区别分析 undefined 类型谈一谈标识符js的构成什么是 JavaScript请分析 正常外部引入 js 和 defer、async 属性的区别默认: 碰到外部引入 js,会停止解析 html,开始下载 js,并解析 js。defer: 碰到外部引入 js,会异步的下载 js(不中断 html 解析),等所有 html 解析完成,就会按照顺序执行 js。async: 碰到外部引入 js, 会异步下载 js(不中断 html 解原创 2021-04-04 19:56:07 · 255 阅读 · 0 评论 -
谈一谈 promise
目录谈一谈 promise谈一谈 promise 的原型方法谈一谈 set谈一谈 map谈一谈 iterator 及手写谈一谈 promise什么是 promise?一个异步编程的解决方案,将异步操作以同步的形式表达出来,避免回调地狱方式的书写。promise 对象:Promise 是一个构造函数,需要实例化调用,得到一个实例化的 promise 对象。Promise 对象上有静态方法:all、allSettled、any、race、reject、resolve。Promise 原型对象上有原创 2021-03-08 18:13:10 · 355 阅读 · 1 评论 -
谈一谈箭头函数
目录谈一谈箭头函数谈一谈 Symbol 类型谈一谈 BigInt 类型谈一谈扩展运算符谈一谈 reduce 的用法参数谈一谈模板字符串谈一谈箭头函数ES6 允许使用“箭头”(=>)定义函数。关于 this 箭头函数没有自己的 this,箭头函数内部的 this 并不是调用时候指向的对象, 而是定义函数时所在函数的 this 指向。箭头函数不能用于构造函数,也就是不能使用 new 关键字调用。箭头函数没有 arguments 对象, 只能使用rest参数。谈一谈 Symbol 类型E原创 2021-03-07 23:46:16 · 155 阅读 · 1 评论 -
谈一谈 JS 严格模式
目录谈一谈 JS 严格模式谈一谈 JSON 对象XML 和 HTML 区别谈一谈 Object.create()谈一谈存取器属性 getter 和 setter,并书写案例说明使用方法谈一谈 let 和 const谈一谈 JS 严格模式什么是严格模式?除了正常运行模式(混杂模式),ES5 添加了第二种运行模式:“严格模式”(strict mode)。这种模式使得JavaScript在更严格的语法条件下运行。怎么使用?在全局或函数的第一条语句定义为: 'use strict', 将 "原创 2021-03-05 17:50:01 · 309 阅读 · 0 评论 -
分析 webWorker
目录分析 webWorker分析浏览器内核less 常见的特性及案例分析 webWorkerwebWorker:多线程 主要 API。new Worker(): 创建一个分线程,返回值代表当前分线程。postMessage(): 主线程向分线程,分线程向主线程 传递数据。onmessage 事件: 分线程或主线程接收到其他线程发送的数据后 自动触发,事件函数的event事件对象中的data属性,就是发送的数据。close() 方法: 在分线程关闭当前线程,terminate()原创 2021-02-27 16:57:16 · 124 阅读 · 0 评论 -
解释 JS 封装多态
目录里解释 JS 封装多态谈一谈进程和线程事件轮询机制解释 JS 封装多态封装:封装的目的是将信息隐藏,一般来说封装包括封装数据、封装实现。封装数据:依赖作用域来实现封装数据。封装实现:封装实现即隐藏实现细节,用户都不关心它的内部实现,使用者只需要知道如何使用即可。多态:JS对象多态性是与生俱来的。给不同的对象发送同一个消息时,这些对象会根据这个消息分别给出不同的反馈。谈一谈进程和线程进程和线程:进程:程序的一次执行, 它占有一片独有的内存空间。线程: 进程内的一个独立单元原创 2021-02-24 16:52:04 · 269 阅读 · 0 评论 -
JS 手写 new
JS 手写 new<!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"> <原创 2021-02-23 17:56:43 · 115 阅读 · 0 评论 -
谈一谈JS事件委托
目录谈一谈事件委托阻止默认事件和阻止传播分别解析 offsetX clientX screenX pageX手写生成[10,80]的随机小数手写生成[10,80]的随机整数生成一个7天以后的现在的时间常见的H5标签及相应的含义谈一谈事件委托事件委托:事件就是我们普通绑定的事件。委托就是不绑定在当前元素上,而是绑定在了父级或者祖辈元素上,通过event事件对象的target属性,获取当前点击的精确元素。原理: 使用了冒泡的原理。优点:减少for循环,减少绑定事件数量,减少了内存泄露的概率。可原创 2021-02-02 18:06:59 · 342 阅读 · 1 评论 -
谈一谈 浏览器渲染的重绘重排
目录谈一谈重绘重排分别叙述 innerHTML innerText textContent旧方法设置 获取 删除属性方法h5自定义属性创建元素节点 插入元素节点 复制节点 删除节点 替换节点操作谈一谈重绘重排重排和重绘是DOM编程中耗能的主要原因之一。重排(回流):当render tree中的一部分或者是全部,因为元素的尺寸、布局、隐藏等等改变引起页面的重新渲染,这个过程称作为重排。重绘:当render tree(渲染树)中更新的属性只会影响元素的外观、风格,不会影响元素的布局的时候,浏览器需要原创 2021-01-30 16:49:15 · 355 阅读 · 0 评论 -
window.onload事件触发条件
目录window.onload 事件触发条件:鼠标的 mouseover 事件和 mouseenter 事件的区别分析基本数据类型和引用数据类型的区别基本类型值特点:引用类型值特点:为什么要标签语义化?window.onload 事件触发条件:当所有的DOM节点全部加载完成。页面中所有的资源(音频视频图片等等)全部加载完成。鼠标的 mouseover 事件和 mouseenter 事件的区别mouseover和mouseenter都是移入事件。mouseover会触发冒泡。mouseen原创 2021-01-26 19:34:03 · 1202 阅读 · 0 评论 -
谈一谈 null 和 undefined
目录谈一谈null和undefinedundefined出现的场景:null出现的场景:什么是DOM?什么是节点?节点类型有哪些?说出获取元素所有的方式获取html body head标签的方法兼容性获取第一个子元素的封装谈一谈null和undefinedUndefined类型只有一个值,即undefined。我们不会对一个值设置undefined,一般都是出现错误的时候,才会被我们打印出来。null 类型是第二个只有一个值的数据类型,这个特殊的值是 null,null 值表示一个空对象指针,而这也原创 2021-01-26 00:14:47 · 476 阅读 · 0 评论 -
JavaScript/JS 基础知识点
目录JavaScript基础语法初识使用JavaScript其他使用JavaScript的方法变量什么是变量变量的作用(为啥要有变量?)变量的定义变量定义规则变量的类型(容器中的内容)JavaScript基础语法初识使用JavaScript<!DOCTYPE html><html> <head> <meta charset="UTF-8" /> <script src=""></script&g原创 2021-01-21 15:53:11 · 362 阅读 · 0 评论 -
JS 知识积累笔记
前后端对接问题:接口跨域队列是什么?:队列是先进先出(插队除外)。先进去的代码先执行。[ ] + push + shift = 数组。我们可以认为JS的数组是队列的一种实现。栈:先进后出。像罐子里放东西,先放的东西会压在罐子底下,要拿的时候,最后才能拿出来。栈的实现 = [ ] + push + popJS链表:一个节点连着一个节点,只要不是连着两个或多个节点。proto 就等于next,是下一个节点的意思。树:一个节点后面有两个或两个以上的节点。树:一个节点后面有两原创 2021-01-03 16:14:21 · 395 阅读 · 0 评论 -
JS 写法规范
目录一、规范目的二、基本准则三、命名规范1. 目的2. 变量名3. 构造函数(类)命名4. 普通变量命名5. 匈牙利命名法6. 例外情况7. 函数命名8. 变量命名例子四、编写注释五、引号的使用一、规范目的为提高团队协作效率,便于前端后期优化维护,输出高质量的文档。二、基本准则符合web标准,结构表现行为分离,兼容性优良。页面性能方面,代码要求简洁明了有序, 尽可能的减小服务器负载,保证最快的解析速度。项目的维护和二次开发可能是直接或间接的团队合作,所以创建易维护的代码是一个项目成功与否的关键,原创 2020-11-28 16:49:47 · 1280 阅读 · 0 评论 -
自学前端需要达到什么水平才能去找工作?来看看这套前端学习路线图!!!
前端学习路线一图搞定1. 包含了从入门到入土的学习过程和学习路线。2. 包含先学什么后学什么,哪些是重点哪些是最常考的面试题。3. 自带超链接,可以点击学习路线,全程免费!4. 资料已经准备好了,请君入学吧!!!点我看原图!...原创 2020-11-19 21:45:05 · 238 阅读 · 0 评论 -
关于 JavaScript 运算符的优先级
运算符的优先级, 逗号运算符 使用逗号(,)可以分割多个语句,一般可以在声明多个变量时使用, 例如: var a; var b; var c; 可以写成:var a , b , c;声明多个变量并赋值: var a = 1, b = 2, c = 3;运算符中的优先级就和数学中一样,在JS中运算符也有优先级比如:先乘除 后加减在JS中有一个运算符优先级的表:在表中位置越靠上优先级越高,优先级越高越优先计算如果优先级一样,则从左往右计原创 2020-11-07 01:10:55 · 426 阅读 · 1 评论 -
JavaScript 条件运算符语法
条件运算符条件运算符也叫三元运算符语法:?:条件表达式?语句1:语句2; - 执行的流程 条件运算符在执行时,首先对条件表达式进行求值, 如果该值为true,则执行语句1,并返回执行结果 如果该值为false,则执行语句2,并返回执行结果 如果条件的表达式的求值结果是一个非布尔值, 会将其转换为布尔值然后再运算 true?alert(原创 2020-10-30 02:00:33 · 595 阅读 · 0 评论 -
计算机单词正确的打开方式是怎样的?
前后端单词 15 implement [ˈɪmplɪment , ˈɪmplɪmənt] 工具原创 2020-10-27 16:21:31 · 202 阅读 · 0 评论 -
JavaScript 中的相等运算符
undefined 衍生自 null 所以这两个值做相等判断时,会返回true。原创 2020-10-27 02:42:55 · 336 阅读 · 0 评论 -
Unicode编码在JavaScript中的作用是什么?
Unicode编码在字符串中,使用转义字符输出Unicode编码\u + 4位编码 <script> console.log("0031"); //返回:0031 </script>加 \u 表示这个是Unicode编码 <script> console.log("\u0031"); //返回:1 </script>原创 2020-10-26 02:04:22 · 1256 阅读 · 0 评论 -
JavaScript 关系运算符有哪些?
关系运算符 通过关系运算符可以比较两个值之间的大小关系 如果关系成立它会返回true,如果关系不成立则返回false > 大于号 - 判断符号左边的值是否大于右侧的 - 如果关系成立,返回true,如果关系不成立则返回false >= 大于等于 - 判断符号左侧的值是否大于或等于右侧的值 - 如果关系成立,返回true,如果关原创 2020-10-24 22:54:13 · 627 阅读 · 0 评论 -
JavaScript 在非布尔值的情况分析
&& || 在非布尔值的情况对于非布尔值进行“与”、“或”运算时,会先将其转换为布尔值,然后再运算,并且返回原值 && 与 运算 - 如果第一个值为true,则必然返回第二个值 - 如果第一个值是false,则直接返回第一个值 || 或 运算 - 如果第一个值为true,则必然返回第一个值 - 如果第一个值是false,则直接返回第原创 2020-10-23 02:17:13 · 132 阅读 · 0 评论 -
JavaScript 自增和自减面试题
自增和自减练习<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>自增和自减练习</title></head><body> &l原创 2020-10-22 03:04:46 · 551 阅读 · 0 评论 -
前端必备网站(纯手工输入)
首推B站(没有你学不会的技术,无广告,全免费)https://www.bilibili.com/MDN JS 学习(最爱的前端网站)https://developer.mozilla.org/zh-CN/docs/learn/JavaScript印记中文https://docschina.org/Stack Overflowhttps://insights.stackoverflow.com/trends消除图片中的背景https://www.remove.bg/zh...原创 2020-12-05 16:10:41 · 11813 阅读 · 16 评论 -
JavaScript 自增和自减的区别
自增和自减 自增 - 通过自增可以使变量在自身的基础上增加1 - a++; 使a自增1 - 对一个变量自增以后,原变量的值会立即自增1 - 自增分为两种:后++(a++) 和前++(++a) 无论是a++ 还是++a,都会立即使原变量的值自增1 不同的是a++ 和 ++a的值不同 a++的值等于原创 2020-10-14 02:52:47 · 513 阅读 · 0 评论 -
JavaScript 其他的进制的数字
其他的进制的数字 在JS中, 1· 如果需要表示16进制的数字,则需要以0x开头 2· 如果需要表示8进制的数字,则需要以0开头 3· 如果需要表示2进制的数字,则需要以0b开头 但是不是所有的浏览器都支持 IE不支持,火狐和谷歌支持 <!-- 16进制数字 --> <s原创 2020-10-13 02:41:48 · 257 阅读 · 0 评论 -
JS中可以表示数字的最大值
JS/JavaScript 笔记(二)JS中可以表示数字的最大值 Number.MAX_VALUE console.log(Number.MAX_VALUE); 值是 1.7976931348623157e+308 相当于一个常量来保存着这个值。 console.log(Number.MAX_VALUE * Number.MAX_VALUE); 返回结果:Infinity(无穷大) console.log(-Number.MAX_VALUE * Number.MAX_VALUE); 返原创 2020-10-12 02:39:32 · 10424 阅读 · 0 评论 -
HTML 5 Canvas 注意事项
什么是 Canvas?HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。画布是一个矩形区域,您可以控制其每一像素。canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。注意事项标签需要闭合不同于 元素, 元素需要有闭合标签 ().设置画布(canvas)的大小直接在html标签中设置width和height属性或者使用JavaScript来指定画布尺寸,这将改变一个画布的水平像素和垂直像素数,就像定义了一张图片的大小一样。可以使用CSS的w原创 2020-10-08 19:19:36 · 239 阅读 · 0 评论 -
JavaScript(JS)代码压缩还原
JavaScript代码压缩还原https://beautifier.io/http://dean.edwards.name/packer/原创 2020-10-08 15:53:13 · 1131 阅读 · 0 评论 -
JavaScript 数据类型 6+1
JS 笔记(一)数据类型指的就是字面量的类型在js中一共有六种数据类型:1· String 字符串2· Number 数值3· Boolean 布尔值4· Null 空值5· Undefined 未定义6· Object 对象 其中 String Number Boolean Null Undefined 属于基本数据类型 而Object属于引用数据类型String字符串 - 在JS中字符串需要使用引号引起来 var str = "hello";整数和浮点数(浮点数就是小数)原创 2020-10-05 21:06:15 · 154 阅读 · 0 评论