javascript
EDB
这个作者很懒,什么都没留下…
展开
-
js实现轮播
最近写网页遇到轮播的问题。之前只是试着用css3过渡来实现 结果发现不行 因为过渡的话当到达最后一张图片的时候需要过度到第一张图片就会出现倒回来状况 无法做到无缝 所以要想实现无缝轮播就得由js来写无缝轮播的原理:宽度设为总的轮播内容宽度 移动的方式是每次移动很小的宽度 比如一张页面宽度是1920px打算1秒移动完毕 那么我可以是每次移动花费20毫秒的时间 那么每次移动的宽度就是 总共移动...原创 2018-03-10 18:12:53 · 285 阅读 · 0 评论 -
js小知识点
文化 javaScript是解释性语言,c c++ 是编译性语言 java是oak语言 解释性: 读一行执行一行 主流浏览器内核: IE: trident chrome: webkit/blink firefox: Gecko Opera: presto Safair: webkit原始值不可改变: 声明一个变量之后,如果给这个变量赋予一个新值,那么会把之前的销...原创 2018-06-09 21:59:24 · 295 阅读 · 0 评论 -
javaScript Dom操作(上)
什么是DOMDOM — > Document Object Model 定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。DOM对象即为宿主对象,由浏览器厂商定义,用来操作html和css功能的一类对象的集合。也有人称DOM是对HTML以及XML的标准编程接口。 DOM基本操作 查询document代表整个文档 docu...原创 2018-06-10 18:04:07 · 323 阅读 · 0 评论 -
javaScript 异步加载
在html页面中当我们需要加载一些资源的时候,例如加载一些工具方法,为了避免阻塞,往往是采用的是异步加载,还有一种就是按需加载,例如一些工具方法,等到用到的时候再去加载。javascript异步加载资源的三种方案 defer 异步加载,在script标签上加上这个属性, 它既可以异步加载外部脚本,也就是src引入的,也可以加载内部代码,也就是script内部写的代码, 但它要等到d...原创 2018-07-16 20:17:55 · 220 阅读 · 0 评论 -
javaScript DOM操作 (中)
在实际开发中,我们往往需要获取网页上的一些此尺寸,但是官方给出的方法很多,容易混,这里分以下类查看滚动条的距离window.pageXOffset/pageYOffset 该方法在IE8及IE8以下不兼容, 可以使用下面的方法 document.body.scrollLeft || .scrollTop 或者document.documentElement.scrollLeft ||...原创 2018-07-13 20:13:04 · 243 阅读 · 0 评论 -
javaScript DOM操作(下)
这一节我们来说如果通过dom来间接的操作cssdom.style.prop这个方法我们可以读取属性也可以往里面写属性,没有兼容性问题。dom.style会返回一个内联的样式表.需要注意的几点是: 通过的dom.style.prop设置的是内联样式, 如果通过选择器设置样式而不是写在内联,那么通过dom.style.prop是获取不到的我们通过非内联的样式的 对于保留字,如碰到f...原创 2018-07-14 13:43:56 · 229 阅读 · 0 评论 -
javaScript 事件(上)
事件的绑定首先javaScript绑定事件的方式有三种ele.onxxx = function (event) {}上面的xxx是事件类型不需要首字母大写, 这个绑定的方式兼容性很好,但是一个元素只能绑定一个处理程序,也就是一个事件只能同时绑定一个functionobj.addEventListener(type, fn, false)上面的type是字符串类型的事件类型, 但是它...原创 2018-07-14 15:37:48 · 219 阅读 · 0 评论 -
javaScript 事件(中)
事件处理模型事件处理模型分为两种,一种是事件冒泡,一种是事件捕获,事件处理模型会发生在这种情况下: 当含有嵌套的标签时,各个标签上绑定了相同的事件,例如都绑定了onclick事件,那么当点击事件发生的时候就会触发我们的事件模型事件冒泡从嵌套的子元素像最外层的父元素的冒泡,依次触发从子元素到最外层父元素经过的每一层标签绑定的同一事件,包括最外层的元素事件捕获事件捕获和时间冒泡恰恰相反...原创 2018-07-14 18:21:09 · 207 阅读 · 0 评论 -
Regexp 正则
去这里查看详细:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions 1、创建正则有下面几种方式var regex = /abc(a)/g //字面量形式var regex1 = new Regexp('abc', 'ig')var regex2 = new Regexp...原创 2018-07-20 18:09:26 · 315 阅读 · 1 评论 -
javaScript 事件(下)
这一节,我们来讲事件的分类鼠标事件mousedown、click、mouseup 表示鼠标点击事件,触发的顺序就是前面写的顺序 mousemove 鼠标移动事件 contextmenu 鼠标右键事件 mouseover、mouseout 鼠标移入移出事件,html5中也可用mouseenter、mouseleave来表示 在移动端请将mousedown mousemove mo...原创 2018-07-15 21:21:39 · 220 阅读 · 0 评论 -
中文的unicode编码范围
中文的unicode编码范围是: \u4E00-\u9FA5\uf900-\ufa2d原创 2018-07-31 20:16:46 · 8679 阅读 · 2 评论 -
Regexp 的贪婪和非贪婪模式
贪婪: 尽可能多的匹配 非贪婪: 尽可能少的匹配 语法:将?紧跟在任何量词 *、 +、? 或 {} 的后面,将会使量词变为非贪婪的(匹配尽量少的字符),和缺省使用的贪婪模式(匹配尽可能多的字符)正好相反。下面给几个例子:例一//不加问号默认为贪婪var reg = /a.*c/var string = 'aaaccaa'var result = string.match...原创 2018-08-01 15:48:54 · 2101 阅读 · 0 评论 -
深入剖析js线程
浏览器常驻线程有下面这些js 线程GUI线程 和 js 线程互斥http 网络请求线程定时器触发线程浏览器事件处理线程分别监听各自线程上的事件,当事件完成之后,将回调放入event quenue当中。所有非js线程是用来辅助js祝线程,通过将各自线程当中的任务执行完毕时将其注册的回调放入event quenue 当中,当js祝线程同步任务执行完毕时,就会去event quenue当...原创 2019-04-28 11:19:16 · 230 阅读 · 0 评论 -
函数编程理念
柯里化柯里化是一种将使用多个参数的一个函数,转换成一系列使用一个参数的函数的技术前端使用柯里化的主要是简化代码结构,提高系统的维护性,一个方法只有一个参数,强制来功能的单一性, 很自然的做到来功能内聚,降低耦合。柯里化的优点是降低代码的重复,提高代码的适应性。 function FixedParamsCurry(fn) { var _args = Array.prot...原创 2019-04-28 17:54:18 · 202 阅读 · 0 评论 -
闭包详解
在看这篇文章以前我希望你对作用域链有深刻的了解,如果不是请先看我的这篇文章点击打开链接。闭包通俗的来说就是在一个函数里面返回了另一个函数,另一个函数引用着这个函数里面的变量,导致这个函数执行结束的时候,它的上下文不会被销毁,直到被返回的函数执行完毕。闭包的作用: 实现公有变量、可以做缓存、可以实现封装,属性私有化。闭包的缺点:造成内存泄漏。下面直接上例子吧,看这个例子需要你对作用域...原创 2018-06-07 10:17:50 · 212 阅读 · 0 评论 -
使用es6模板字符串传参
模板字符串使用的是返引号,就是键盘左上角esc下面那个键,使用模板字符串可以更方便于传参例如:当我们需要在url后面跟一个参数的时候 以前我们可以这样写var path=path+':'+id.toString()<a href={path}>现在我们可以这样写<a href=`path/:${id}`>上面的path是一个路由...原创 2018-03-10 18:02:01 · 4776 阅读 · 0 评论 -
JS函数
函数的创建function sum (num1,num2) { return num1+num2;}//第一种形式 函数声明 代码执行前加载var sum=function(num1,num2){ return num1+num2;};//第二种形式 函数表达式 函数返回引用赋值给sum 执行到当前行的时候加载var sum = () => {statements} //...原创 2018-03-15 16:07:46 · 203 阅读 · 0 评论 -
数组
如果给数组操作符的是一个非整形数值,那么将作为一个代表数组的对象的属性(property)创建,而非作为数组的元素例如:a[2.2] = "2"那么得到的结果将是arr.hasOwnProperty(2.2)为true如果给数组分配length属性,写一个小于数组元素数量的值会缩短数组,写0会彻底清空数组在数组定义时省略的元素不会在forEach遍历时被列出,但是手动赋值为undefined的元素...原创 2018-05-01 15:28:20 · 190 阅读 · 0 评论 -
用js实现canvas的绘制
canvas绘制在html中嵌入<canvas></canvas>标签 使用js得到canvas引用 canvas操作设置canvas的宽高 var width = canvas.width = window.innerWidth; var height = canvas.height = window.innerHeight; 得到可绘制...原创 2018-05-01 15:29:21 · 1975 阅读 · 0 评论 -
var和let和const
var es5中用来声明变量的关键字,没有块级作用域,有变量提升let es6中出现的,有块级作用域,没有变量提升,因此如果先使用后声明会出现暂时性死区const es6中出翔,有块级作用域,没有变量提升,定义时必须赋初值,变量所指向的地址不可更改var和let的另一个区别 let不可以定义为全局变量,即通过window. 不能访问,但是var可以。...原创 2018-05-04 11:26:10 · 180 阅读 · 0 评论 -
javaScript预编译、作用域,作用域链详解
ES5中只分为全局作用域和函数作用域,也就是说for,if,while等语句是不会创建作用域的。ES6(let,const)除外几个概念 执行环境:定义了变量或函数有权访问的其他数据,决定了它们的各自行为。 执行环境分为全局执行环境和函数执行环境(这个名字我自己取的),其中在浏览器中全局执行环境是一个Windows对象。 每一个执行环境都对应了一个变量对象(variable ob...原创 2018-05-04 14:24:17 · 851 阅读 · 0 评论 -
详解javaScript中的this
javaScript中的this是变化的导致在很多地方this都不一样,于是很多小伙伴在开发的时候会很迷惑,详细理解清楚this将有助于我们在今后的学习中更好的理解其他的东西,下面就开始讲解this。记住下面这几句话:函数预编译过程 this —> window 预编译的时候AO对象里面会有this键,它的值为window 全局作用域里 this —> window ca...原创 2018-05-05 19:37:19 · 186 阅读 · 0 评论 -
防抖截流
截流只有大于等于执行周期时才执行,周期内调用不执行。function throttle(handler, wait){ var lastTime = 0 return function () { var nowTime = new Date().getTime() if(nowTime - lastTime > wait) { handler.apply(this, a...原创 2019-04-28 19:43:39 · 424 阅读 · 0 评论