
Javascript
JS 开发
落落叶叶无声
做过后端,现在主前端的开发工程师...
展开
-
babel 与逗号操作符 (0, function)(args)
babel 与逗号操作符 (0, function)(args)原创 2022-08-11 11:46:11 · 1028 阅读 · 1 评论 -
【Promise 规范】resolve 和 then 方法主要逻辑
Promise 表示一个异步操作的状态和结果。掌握 Promise,有利于我们更好的运用异步编程。通过学习规范,能让我们更准确地理解 Promise 的底层逻辑。resolve 的主要逻辑如果 resolve 的参数是非 thenable 对象,则直接then 的主要逻辑如果 Promise 是 pending 状态,将 then 的 onFulfilled 方法追加到 Promise 的 onFulfilledCallback 列表后边。将 then 的 onFulfilled 方法追原创 2022-05-17 11:53:04 · 1796 阅读 · 7 评论 -
四个字记住 js 数组 sort 的排序规则
比较函数compareFunction:用来指定按某种顺序进行排列的函数sort(compareFunction(a, b) {...})返回值规则如果返回值 < 0 ,a 排在 b 前如果返回值 = 0 ,位置不变如果返回值 > 0 ,b 排在 a 前前升后降前升后降的意思是:假如前一个参数 a 在计算表达式的前边,则为升序;假如后一个参数 b 在计算表达式前边,则为降序参数 a 在计算表达式的前边为升序sort(compareFunction(a, b) { retu原创 2021-10-27 11:18:34 · 261 阅读 · 0 评论 -
一图看懂 offsetX,clientX,pageX,screenX 的区别
offsetX vs clientX vs pageX vs screenX原创 2021-05-21 15:32:31 · 1882 阅读 · 0 评论 -
img 图片加载错误时显示默认图片
有时我们项目里的图片加载错误时(比如 404),为了友好体验,我们可以用一张默认图片来替代。方法一:用 background 遮住原图片<img src="no-such-pic.png" />img { position: relative; height: 200px; width: 200px;}img::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height:原创 2021-02-09 20:18:38 · 2950 阅读 · 0 评论 -
如何理解闭包?带你揭开闭包的面纱
如何理解闭包引言什么是闭包?闭包有什么用?通过计数器理解闭包其他引言闭包是 Javascript 一个重要的概念,也是 Javascript 难理解的一个特性。在实际开发中,有很多高级功能和第三方 API 都使用到闭包,所以,掌握闭包的概念和使用,是前端开发必不可少的技能。什么是闭包?在 JS 中,我们可以把闭包理解为一个可以访问并持有外部函数变量和参数的内函数。为什么这么说?如下图,我们在 outter 函数中定义内函数 inner,并把 inner 函数打印出来,从打印结果我们发现,在 inn原创 2020-06-25 01:56:05 · 632 阅读 · 0 评论 -
JS 遍历对象所有的属性和值(包括子属性)
代码:let person = {isHuman: true}let user = { name: 'john', age: 17, date: new Date(), date1: null, order: { id: 123, price: '19yuan' }}user.__proto__ = person; //指定对象的原型func...原创 2020-04-07 23:19:00 · 5586 阅读 · 0 评论 -
滚动加载图片实现图片懒加载
基本思路页面的每个 img 标签的 src 属性都设置为一张 loading 图片;接着为 img 加一个 data-src 属性装图片的真正地址,再加一个 data-isloaded 属性来标记 src 是否以被 data-src 给替换过;为 window 添加 scroll 监听事件,当滚动时,判断图片是否以被替换,如果没被替换,则判断是否在可见,如果可见,则替换,并把 isload...原创 2020-04-04 18:06:25 · 593 阅读 · 0 评论 -
Javascript 闭包的实际应用
函数即是闭包闭包指的函数能够读取其外部环境的变量和参数的能力,js中,一切函数都是闭包最典型的写法应用闭包的最典型写法,是在函数中返回另一个函数(即内函数,它有读取outer函数的变量和参数的能力)functin outer() { let varible = x; return function() { }// 返回一个匿名内函数}functin outer() { let...原创 2020-03-20 11:44:07 · 403 阅读 · 0 评论 -
xxx is not defined at HTMLDivElement.onclick(onclick函数未定义)
解决方法:检查 onclick 传参是否正确检查script标签是不是多了module属性,如果是应该删除 type=“module”<script type="module"></script>原创 2020-03-08 02:51:22 · 9881 阅读 · 0 评论 -
Json的问题总结
问题1:如何访问Json数据的所有key值?for(var i in myJson){ alert("key="+i)}问题2:如何判断Json是否包含某对象或函数?是否需要遍历key值后再判断呢?不必。如下例子,我们直接访问myJson.render,如果renderFun 是undefined,说明不包含,反之则包含。var myFun = f原创 2016-04-14 20:58:42 · 630 阅读 · 0 评论