JavaScript设计模式之策略模式 什么是策略模式定义一系列的算法,封装起来,并且他们之间可以相互替换。将算法的使用和算法的实现分离开来。 现在有这么一个功能,过年发年终奖根据绩效来发不同的奖金。绩效为 S 的有4倍工资,绩效为 A 的有3倍工资,绩效为 B 的有2倍工资。 通过构造函数实现1// 算法2var ps = function () { }3ps.prototype.calculate = funct 2021-05-26 JavaScript 设计模式
JavaScript设计模式之单例模式 什么是单例模式单例模式规定只有一个实例,并且可以全局访问。需要时才创建类实例对象。 简单示例ES5 简单实现1<!DOCTYPE html>2<html lang="en">3 <head>4 <meta charset="UTF-8" />5 <meta http-equiv="X-UA-Compatible" content= 2021-05-26 JavaScript 设计模式
什么是 Event Loop? JavaScript 是一门单线程、非阻塞的语言,它只有一个调用栈,每次只能做一件事情。 它的异步和多线程就是靠 Event Loop 事件循环机制来实现的。JavaScript 代码是从上往下一行一行执行的。先将同步代码执行完,再执行异步代码。 Event Loop组成部分: 调用栈(call stack) 任务队列(Task Queue) 微任务队列(Microtask Queu 2021-05-23 JavaScript JavaScript
理解JavaScript的作用域 什么是作用域简单来说作用域就是变量与函数的访问范围,用于规定变量和函数是否可访问。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。 全局作用域在代码中任何地方都可以访问到的对象拥有全局作用域。 在script标签中声明的变量和函数 全局对象 window,由浏览器创建 未定义直接赋值的变量 在全局作用域声明的函数和变量会作为 window 对象的属性和方法保存 函数作用域声 2021-05-21 JavaScript JavaScript
原生JavaScript实现图片懒加载 什么是图片懒加载我们有一个页面,展示图片列表的,图片很多多到当前屏幕展示不下。懒加载就是加载可视区域内的图片。一般图片我们是使用 <img> 标签来实现的,浏览器根据标签上的 src 属性来发起获取图片的请求。我们在未进入到可视区域内,先不给 <img> 标签添加 src 属性,这样动态的控制标签 src 属性就可以完成懒加载了。 示例1<!DOCTYPE html& 2021-05-21 JavaScript JavaScript HTML
JavaScript中的深拷贝和浅拷贝 什么是深拷贝/浅拷贝 浅拷贝是创建一个新对象,这个对象具有原始对象属性值。如果属性是基本类型的话,拷贝的就是基本类型。如果属性是引用类型,拷贝的就是引用地址,改变了其中一个对象,就会影响到另外一个对象。 深拷贝是将一个对象从内存中完整拷贝了一份,从堆内存中开辟了一个新的区域存放新对象,修改后不会影响原来的对象。 赋值、深拷贝、浅拷贝的区别 对象数组赋值给一个新的变量时,其实是赋的内存地址,而不是 2021-05-20 JavaScript JavaScript
JavaScript-预编译 什么是预编译?预编译发生在函数作用域创建的阶段在函数执行之前。 函数、形参、变量的优先级别:函数 > 形参 > 变量 全局作用域预编译 创建GO对象(Global Object) 查找变量声明,将变量名作为GO对象的属性名,只为 undefined 查找函数声明,值为函数体 函数作用域预编译 创建AO对象(Active Object) 查找函数形参以及函数内部的变量声明,形参名及 2021-05-20 JavaScript JavaScript
JavaScript中精度问题以及解决方案 JavaScript 中使用的是 64 位双精度浮点数来存储数字。可以表示的数字的绝对值范围大约是:-1.79E+308 ~ +1.79E+308。超出这个范围的数就不一定能准确表示,就会产生精度问题。而计算机计算时是二进制,技术完成转换为十进制就超出了范围。 JavaScript中精度丢失的经典问题浮点精度 10.1+0.2 === 0.3 // false 大数精度 19999999999 2021-05-19 JavaScript Function
BFC BFC 是什么?块格式化上下文(Block Formatting Context,BFC),是一个独立的块级渲染区域,只有块级盒子参与。内部元素变化不会影响外部元素。 如何创建 BFC float 的值不为 none overflow 的值为 auto、scroll、hidden (推荐使用) display 的值为 table-cell、table-caption、inline-block po 2020-12-22 CSS BFC
Vue自定义指令 除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令。 自动注册指令新建 directives/index.js文件 1import copy from './copy'2import longpress from './longpress'3import permission from './permission'4import debounce fro 2020-12-19 JavaScript Vue