
js
杨九日
拒绝CV,动脑动手!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
变量提升在V8引擎中是如何实现的-2020-09-28
变量提升在V8引擎中是如何实现的。首先,我们知道用var声明的变量会产生变量提升。那么let、const会吗?console.log(b);//undefinedvar b = 5;//========================console.log(a);//ReferenceError: a is not defined//用let 或const声明后,和没有用声明报一样的错误。显然,let、const不存在变量提升。console.log(a);//ReferenceErro原创 2020-09-28 11:16:56 · 560 阅读 · 2 评论 -
根据请求的数据动态懒加载图片
思考:假如给你50+张图片,你如何实现懒加载?我的思路:加载loading图片:先在显示9张带着loading图片的div块进行占位获取后台数据,根据请求图片数量替换并生成同等数量的带着loading的div块利用Image()对象先将图片加载至内存,待加载完毕再将图片替换loading.png;知识预热:利用图片到 浏览器顶部的距离offsetTop的距离=浏览器可视窗口的距离clientHeight+滚动条距离scrollHeight 的时候开始加载图片。可视窗口获取api:原生原创 2020-07-27 16:16:11 · 650 阅读 · 0 评论 -
ES6类继承的源码是怎样实现的呢???
废话不多说,先看ES6转成ES5后的源码????ES6继承class A{ constructor(name){ this.name = name; } sayA(){ console.log(this.name,'sayA'); } static privateA(){ console.log(this,'A的私有属性'); }}class B extends A{ constructor(n原创 2020-07-26 16:15:27 · 342 阅读 · 0 评论 -
原生JS的几种原型继承的区别
function A(name){ this.name = name;}A.prototype.sayA = function(){ console.log(this.name+'Asay')}function B(name){ this.name = name;}B.prototype.sayB = function(){ console.log(this.name + 'Bsay');}B.prototype.proto = A.prototype//原创 2020-07-25 16:52:42 · 240 阅读 · 0 评论 -
redux中componse函数的实现原理
首先,请看redux源码let componse = (...fns) => fns.reduce((a, b) => (...args) => a(b(...args)));如果要你实现一个componse函数,可能你会用这种方式;function componse(...fn){ return (...args)=>{ let lastFn = fn.pop(); //console.log(lastFn); ret原创 2020-07-24 23:38:29 · 281 阅读 · 0 评论 -
8中数组去重方法
文章目录for循环去重filter去重forEach去重sort()去重es6---includes()去重reduce去重map去重最简单 set去重for循环去重let arr = [1,1,2,2,3,4,5,4,5,8,7,6,7,6,9,0];// for循环去重function uniqueArr1(arr){ let resArr = []; // 1、这一种更快一点 // for(let i=0;i<arr.length;i++){ //原创 2020-05-15 18:28:25 · 210 阅读 · 0 评论 -
快速熟悉ES6语法
文章目录@[toc]ESnext '下一代 js'语言babellet&const解构赋值:字符串模板:函数变化:扩展运算符(...)、Rest运算符:箭头函数:尾调用、尾递归数组:ES5里面新增一些东西ES6新增对象:对象扩展及新增方法Promise: 承诺,许诺模块化:程序中类class里面取值函数(getter), 存值函数(setter)继承super:拖拽数据类型:symb...原创 2020-03-26 17:06:40 · 458 阅读 · 0 评论 -
快速熟悉jQuery语法
jQuery笔记笔记编写者 九日文章目录jQuery笔记jQuery介绍页面的加载jQuery对象与DOM对象的互转jQuery中的选择器DOM中获取元素的方式:jQuery获取元素的方式:索引选择器获取兄弟元素的方法操作类样式链式编程断链链式编程实例arguement.callee其他的动画函数animate方法stop方法jQuery中DOM操作表单&value操作offset、l...原创 2020-03-26 16:57:19 · 323 阅读 · 0 评论 -
js 异步&Promise
js 异步&Promise主任务任务队列主任务只有一个主任务运行结束后,会从任务队列中寻找任务执行主(同步)任务、promise、宏任务、微任务setTimeout():属于宏任务。console.log():属于主任务。new Promise():里面的resolve => {resolve();//或reject()...原创 2020-03-26 16:55:12 · 181 阅读 · 0 评论 -
H5移动开发大作业之电子书
GitHub源代码地址:https://github.com/joeyang1512/joyang1512_ebook对于页面上各个元素,使用jQuery Mobile框架,结合CSS3样式设计进行外观设计,根据主题选取适当的字体大小、颜色和元素背景等截图演示:GitHub源代码地址:https://github.com/joeyang1512/joyang1512_ebook...原创 2020-02-18 17:21:25 · 822 阅读 · 0 评论 -
总结var const let
var、const、letvarvar定义的变量可以修改,如果不初始化会输出undefined,不会报错。关键字 var 声明一个变量,那么这个变量就属于当前的函数作用域,如果声明是发生在任何函数外的顶层声明,那么这个变量就属于全局作用域在声明变量时,省略 var 的话,该变量就会变成全局变量,如全局作用域中存在该变量,就会更新其值。var 声明的变量存在提升,而let、const不会...原创 2019-12-04 21:50:51 · 313 阅读 · 0 评论 -
正则表达式实现 模糊查询(请大神指教)
核心代码:key为关键词,text为待检索数据,是json格式问题:如何根据关键词的变化改变正则表达式。有没有简单点的方法,请指教。感谢。function option(text,key) { //?????根据关键词key的变化改变正则表达式pattern pattern=/((((计)?算)?机)?网)?络/gi; /* *正则表达式没有长度(刚开始犯的错误...) ...原创 2019-07-11 20:57:16 · 3119 阅读 · 1 评论 -
js中for循环中调用函数----三种方法
第一种:用this用this来调用,不然会报错因为var定义的i的值在每次循环的时候并不会被锁定,而当我们点击的时候(这动作是在循环完成后进行的,此时的i代表的是元素的总个数的值)。 for(var i=0;i<lists.length;i++){ lists[i].onmouseover = function () { co...原创 2019-09-14 17:32:40 · 12675 阅读 · 0 评论 -
跑马灯---js组件 可自设参数
运用JavaScript的DOM实现纯js的跑马灯的效果。以下是跑马灯可设的参数:content是广告内容y是距离顶部的位置background是背景颜色color是字体颜色size:修改字体大小height是广告高度代码如下:<script> var test1 = function (content,y,height,size,color,backgrou...原创 2019-08-04 19:51:58 · 688 阅读 · 0 评论