
javascript
文章平均质量分 84
沿着路走到底
涉及前端,后端,数据库
展开
-
JS异步编程2:手写Promise
1 class MyPromise { constructor(fn) { // promise 的状态 this.promiseState = 'pending' // promise 的值 this.promiseResult = undefined // 记录then中的callback this.thenCallBack = null // 记录catch中的callback this.catchCallBack = nu原创 2022-02-17 17:08:26 · 566 阅读 · 1 评论 -
JS异步编程1:认识JavaScript的事件循环模型
JavaScript的运⾏顺序就是完全单线程的异步模型:同步在前,异步在后。所有的异步任务都要等待当前的同步任 务执⾏完毕之后才能执⾏。 var a = 1 var b = 2 var d1 = new Date().getTime() var d2 = new Date().getTime() setTimeout(function(){ console.log('我是⼀个异步任务') },1000) while(d2-d1<2000){ d2 = new Date().getTime原创 2022-02-15 11:52:11 · 521 阅读 · 0 评论 -
位运算(&、|、^、~、>>、<<)
计算两个数的和,因为在计算机中都是以二进制来进行运算,所以变量会在机器内部先转换为二进制再进行相加,所以,相比在代码中直接使用(+、-、*、/)运算符,合理的运用位运算更能显著提高代码在机器上的执行效率。 按位与运算符(&) 运算规则: 0&0=0 0&1=0 1&0=0 1&1=1 总结:两位同时为1,结果才为1,否则结果为0。 例如:3&5 即 0000 0011& 0000 0101 = 0000 0001,因此 3&am.原创 2021-11-02 17:19:42 · 1117 阅读 · 0 评论 -
隐式类型转换
console.log([]==0)//true和数字比较会转成数字进行比较Number([])=>Number('')=>0 console.log([1,2]=='1,2')//true和字符串比较,会将数组先转成字符串 console.log([1,2]=='[1,2]')//false 数组[1,2] 转成字符串为 "1,2" console.log({}==0)//false对象转成数字为...原创 2020-12-25 22:01:00 · 146 阅读 · 0 评论 -
上下文、上下文栈
1.代码分类(位置) *全局代码 *函数(局部)代码 2.全局执行上下文 *在执行全局代码前将window确定为全局执行上下文 *对全局数据进行预处理 *var定义的全局变量==>undefined,添加为window的属性 *function声明的全局函数==>赋值(fun),添加为window的方法 *this==>赋值(window) *开始执行全局代码 <scripttype...原创 2020-10-28 14:39:27 · 169 阅读 · 0 评论 -
正则 大写字母 小写字母 数字 特殊字符 至少满足三个
function valid (val) { let count = 0 let isNumber = /[0-9]/ let isUpperLetter = /[A-Z]/ let isLowerLetter = /[a-z]/ let isSpec = /[,.<>{}~!@#$%^&*_]/ if (isNumber.t...原创 2019-11-03 16:54:07 · 1175 阅读 · 0 评论 -
正则
正则表达 regular expression(有规律的 表达 ) 测试字符串的某个模式。例如,可以测试字符串是否存在一个电话号码模式或email格式。这称为数据有效性验证 替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字 根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字 -----------------...原创 2019-11-03 15:46:56 · 357 阅读 · 0 评论 -
原型、原型链、闭包、上下文,作用域
原型: 函数有原型,函数有一个属性叫prototype,函数的这个原型指向一个对象,这个对象叫原型对象。这个原型对象有一个constructor属性,指向这个函数本身。 原型链: 访问一个实例对象的属性时,先在自身属性中查找,找到返回,如果没有, 再沿着__proto__这条链向上查找, 找到返回,如果最终没找到, 返回undefined。 ...原创 2019-10-25 16:10:42 · 168 阅读 · 0 评论 -
函数防抖、函数节流
函数节流:一个函数执行一次后,只有大于设定的执行周期后才会执行第二次。 - 有个需要频繁触发的函数,出于优化性能的角度,在规定时间内,只让函数触发的第一次生效,后面不生效。 // 节流函数 function throttle(fn, delay) { // 记录上一次函数触发的时间 var lastTime = 0; return function...原创 2019-10-24 10:50:06 · 115 阅读 · 0 评论 -
javascript相关知识点
一、关于setTimeout console.log("first") setTimeout(function() { console.log("setTimeout") }, 0); new Promise(function executor(resolve) { for( var i=0 ; i<10000 ; i++ ) { i == 9999 &&...原创 2019-03-02 23:08:44 · 154 阅读 · 0 评论 -
ES6相关知识点
一、箭头函数和普通函数的区别 普通函数中的this: 1. this总是代表它的直接调用者, 例如 obj.func ,那么func中的this就是obj 2.在默认情况(非严格模式下,未使用 'use strict'),没找到直接调用者,则this指的是 window 3.在严格模式下,没有直接调用者的函数中的this是 undefined 4.使用call,a...原创 2019-03-02 23:05:05 · 114 阅读 · 0 评论