小白菜javascript
那谁家的,小谁
小萌新,小梦想,一颗想成为前端架构师的小白菜
展开
-
setTimeout和setInterval传参方式
在JS中无论是setTimeout还是setInterval,在使用函数名作为调用句柄时都不能带参数,而在许多场合必须要带参数,这就需要想方法解决。一、采用字符串形式:——(缺陷)参数不能被周期性改变var id = 11;setInterval("foo(“+id+")",1000);二、匿名函数包装 (推荐)function foo(id){alert(id);}...原创 2020-03-30 21:04:01 · 416 阅读 · 0 评论 -
JavaScript自定义函数
function getArrRandomly(arr) { var len = arr.length; for (var i = 0; i < len; i++) { var randomIndex = Math.floor(Math.random()*(len-i)); //这里一定要注意,后面不管是(i+1)还是(len-i),它们是时...转载 2019-04-01 21:18:49 · 459 阅读 · 0 评论 -
javascript执行机制
大纲 1、场景分析 2、执行机制相关知识点 3、以实例来说明JavaScript的执行机制 4、相关概念1、场景分析 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2...转载 2019-04-01 21:40:38 · 109 阅读 · 0 评论 -
深入理解prototype、__proto__和constructor
参考链接https://www.cnblogs.com/xiaohuochai/p/5721552.html终于概念清晰了(**——**)图示概念 上图中的复杂关系,实际上来源就两行代码function Foo(){};var f1 = new Foo;【构造函数】 用来初始化新创建的对象的函数是构造函数。在例子中,Foo()函数是构造函数【...转载 2019-04-02 15:44:15 · 221 阅读 · 0 评论 -
牛客网笔记
请用 HTML5/CSS3 实现一个双栏布局,顶部有导航栏,底部有网站简介。要求如下:PC 上,侧边栏在左侧,宽度固定,主内容在右侧,宽度自适应,内容区域高度不定手机上,所有区域竖排,依次是内容、导航、侧边栏、底部(假定宽度低于 480px 的设备是手机)答案:结构: 使用 HTML5 语义标签或者使用体现语义的类名,加分 如下写了 viewport 的 meta,加分 样式...原创 2019-04-02 19:47:09 · 251 阅读 · 0 评论 -
JavaScript 事件模型
JavaScript 事件模型 事件处理机制原文链接https://blog.csdn.net/chenmoquan/article/details/10162477通过这篇文章对Javascript的事件处理机制渐渐清晰了,果断收藏转发DOM事件流DOM(文档对象模型)结构是一个树型结构,当一个HTML元素产生一个事件时,该事件会在元素结点与根节点之间按特定的顺序传播,路径所经过...转载 2019-04-02 20:16:06 · 213 阅读 · 0 评论 -
javascript内置对象ArrayBuffer
原文链接Javascript里的ArrayBuffer首先,这个 ArrayBuffer 类型化数组,类型化数组是JavaScript操作二进制数据的一个接口。最初为了满足JavaScript与显卡之间大量的、实时的数据交换,它们之间的数据通信必须是二进制的,而不能是传统的文本格式的背景下诞生的。分配内存类型化数组是建立在ArrayBuffer对象的基础上的。它的作用是,分配一段可...转载 2019-04-13 11:40:18 · 526 阅读 · 0 评论 -
javascript友情link
张鑫旭的blogWeb worker阮一峰Web Components阮一峰Web socket阮一峰window.externalPost messageFetch(有趣api)阮一峰JavaScriptECMAScript6阮一峰Github Actionwebpack精讲javascript设计模式VueRouterVueResource...原创 2019-04-14 21:30:54 · 161 阅读 · 0 评论 -
javascript File Api
属性:属性 描述 Attributes 设置或返回文件或文件夹的属性 DateCreated 返回指定文件或文件夹的创建时间 DateLastAccessed 返回最近访问文件或文件夹的创建时间 DateLastModified 返回最后修改指定文件和文件夹的日期和日期 Drive 返回指定文件或文件夹所在的驱动器的驱动器号 Name...转载 2019-04-18 09:24:01 · 559 阅读 · 0 评论 -
javascript Blob API
JS Blob对象前几天写公司的SpreadJS控件的测试用例时遇到一个需求,不通过input标签的type=file的形式来实现本地文件选择,而是直接指定自己想要上传的文件(因为模拟ui行为的测试会占用大量的时间,影响测试效率)。一开始我认为这是不可能实现的,因为浏览器的安全性原因,js是不能直接访问系统文件的(node.js除外)。ie浏览器支持使用FileSystemObject接口来访...转载 2019-04-18 09:42:44 · 1326 阅读 · 0 评论 -
javascript二维数组和对象的深浅拷贝
这篇文章主要为大家详细介绍了js实现数组和对象的深浅拷贝,1.浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用2.深拷贝: 创建一个新的对象和数组,将原对象的各项属性的“值”(数组的所有元素)拷贝过来,是“值”而不是“引用”JavaScript的数据类型分为原始数据类型和对象类型。二者在内存中存放的方式不同,导致了其赋值时差异。分别举个栗子...原创 2019-04-23 11:52:54 · 780 阅读 · 0 评论 -
javascript中的位运算
按位运算符是把操作数看作一系列单独的位,而不是一个数字值。所以在这之前,不得不提到什么是“位”:数值或字符在内存内都是被存储为0和 1的序列,每个0和1被称之为1个位,比如说10进制数据2在计算机内被存储为 0 0 0 0 0 0 1 0,当我们将内存内的位值改变之后,这个值代表的意义也就变了,比如把2前移动一位, 现在存储单元里面变成了0 0 0 0 0 1 0 0,这个值表示的是十进制的4...转载 2019-05-04 21:26:32 · 290 阅读 · 0 评论 -
原型式继承的constructor指向问题
让我们先来了解一下constructorconstructor属性不影响任何JavaScript的内部属性。 constructor 的含义是 返回指向创建了该对象原型的函数引用. instanceof检测对象的原型链,通常你是无法修改的(不过某些引擎通过私有的__proto__属性暴露出来)。 constructor其实没有什么用处,只是JavaScript语言设计的历史遗留物。 由...原创 2019-05-07 10:25:28 · 1527 阅读 · 0 评论 -
javascript鼠标获取选中的文字
<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>JS Bin</title></head><body&g...原创 2019-05-28 20:53:02 · 538 阅读 · 0 评论 -
H5开发工作经验笔记
正则匹配 \b边界符 \1反向引用。function a(){ b(); c(); console..log(111111); d();}function b(){ console.log(222222); e();}function c(){ console.log(333333); f();...原创 2019-08-14 21:52:01 · 988 阅读 · 0 评论 -
javascript模块化开发COMMONJS、AMD、 CMD
js模块化编程之彻底弄懂CommonJS和AMD/CMD!先回答我:为什么模块很重要?答:因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。但是,这样做有一个前提,那就是大家必须以同样的方式编写模块,否则你有你的写法,我有我的写法,岂不是乱了套!JS中的模块规范(CommonJS,AMD,CMD),如果你听过js模块化这个东西,那么你就应该听过或Commo...转载 2019-04-01 20:49:40 · 178 阅读 · 0 评论 -
JavaScript位运算符使用
1、& 按位与&是二元运算符,它以特定的方式的方式组合操作数中对应的位,如果对应的位都为1,那么结果就是1, 如果任意一个位是0 则结果就是0。1 & 3的结果为1那我们来看看他是怎么运行的1的二进制表示为 0 0 0 0 0 0 13的二进制表示为 0 0 0 0 0 1 1根据 & 的规则 得到的结果为 0 0 0 0 0 0 0 1,十...转载 2019-03-31 21:29:00 · 147 阅读 · 0 评论 -
javascript实现瀑布流
点击此处原文链接首先,我们要在页面中排列出所要展示的框的个数,下面是这个瀑布流的结构图: 这张图片中白色的部分我们就当作是浏览器的可视区域了,那么中间这个灰色的部分我给他取名叫做‘main’,用来存放中间展示的图片,并且与页面中的其他元素分开,那么第一个问题就来了,我们如何知道在这个main中到底改放几张图片呢?而且这个main的宽度又该怎么定呢?上代码!#main{...转载 2019-03-09 09:46:26 · 436 阅读 · 0 评论 -
javascript设计模式
Javascript设计模式记录,这个方面确实是没写过,工作中也没有用到js设计模式的地方。目录prototype与面向对象取舍调用父类构造函数单例模式策略模式undefined终止循环登录验证表单代理模式图片预加载虚拟代理中的惰性加载缓存代理代理工厂观察者模式命令模式宏命令模板方法模式享元模式对象池职责链模式中...转载 2019-03-09 12:35:32 · 152 阅读 · 0 评论 -
javascript数据结构
栈var Stack = function(){ var items = [] //私有属性 this.push = function(element){ items.push(element) } this.pop = function(){ return items.pop(); } this.peek = function(){//栈顶元素 return item...原创 2019-03-07 11:03:47 · 156 阅读 · 0 评论 -
javascript 10大排序算法
排序算法说明:(1)对于评述算法优劣术语的说明稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;内排序:所有排序操作都在内存中完成;外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行;时间复杂度: 一个算法执行所耗费的时间。空间复杂度: 运行完一个程序所需内存的大小。...转载 2019-03-04 17:29:50 · 115 阅读 · 0 评论 -
javaScript 闭包立即执行函数
原文链接一、如何从外部读取局部变量?出于种种原因,我们有时候需要得到函数内的局部变量。但是,前面已经说过了,正常情况下不能,只有通过闭包才能实现。那就是在函数的内部,再定义一个函数。 function f1(){ var n=999; function f2(){ alert(n); // 999 } }在上面的代...转载 2019-03-08 09:48:40 · 128 阅读 · 0 评论 -
javaScript 常见构造方法继承方法
原文链接https://www.cnblogs.com/zczhangcui/p/6389023.html一、构造方法1、工厂模式 考虑在ES中无法创建类(ES6前),开发人员发明了一种函数,用函数来封装以特定接口创建对象的细节。(实现起来是在一个函数内创建好对象,然后把对象返回)。function createPerson(name,age,job){ var ...转载 2019-03-17 10:38:37 · 214 阅读 · 0 评论 -
JavaScript 重构浮点数问题
原文链接https://www.cnblogs.com/snandy/p/4943138.html 以下是一个对象,对小数的加减乘除运算丢失精度做了屏蔽。当然转换后的整数依然不能超过 9007199254740992。 1 2 3 4 5 6 7 8 9 10 11 12 13...转载 2019-03-19 12:27:34 · 141 阅读 · 0 评论 -
javascriptDOM
1.各种高、宽度网页可见区域宽:document.body.clientWidth网页可见区域高:document.body.clientHeight网页可见区域宽(包括边线的宽):document.body.offsetWidth网页可见区域高(包括边线的高):document.body.offsetHeight网页正文全文宽:document.body.scrollWidth网页正...原创 2019-03-29 21:19:16 · 103 阅读 · 0 评论 -
JavaScript轮播组件
设计一个图片轮播组件:需要满足的要求如下:1. 使用手指可以拖动图片进行切换2. 图片滚动到最后一张时,可以继续向后无缝切换到第一张,反之,也可以切换滚动到最后一张3. 当没有任何操作时,每3秒切换一张图片<!DOCTYPE html><html><head> <meta charset="utf-8" name="...转载 2019-05-04 20:11:20 · 191 阅读 · 0 评论 -
javascript实现pagination分页组件
分页组件是web开发中常见的组件,请完成pagination函数,在id为jsPagination的DOM元素中完成分页的显示部分,需求如下1、最多连续显示5页,居中高亮显示current页(如demo1所示)2、total为0时,隐藏整个元素(如demo2所示)3、如果total<=5,则显示全部页数,隐藏“首页”和“末页”元素(如demo3所示)4、当current居中不足5页,...转载 2019-05-04 20:19:18 · 986 阅读 · 0 评论 -
小白菜前端进阶目录
一 、工具1. webpackwebpack是近期最火的一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX)、coffee、样式(含less/sass)、图片等都作为模块来使用和处理。2. gulpGulp.js 是一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务。Gulp.js 是基于 Node.js 构建的,利用 Node.js 流的威力,你可以快...转载 2019-04-21 19:46:24 · 258 阅读 · 0 评论 -
javascript 类型转换
显示类型转换Number()var num = Number(true); console.log(typeof(num) + num) —结果:number: 1var num = Number(false); console.log(typeof(num) + num) —结果:number: 0var num = Number(null); console.log(typeof(n...原创 2019-03-02 19:55:28 · 129 阅读 · 0 评论