![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
互联网里的布里茨
不积跬步,无以至千里
展开
-
js运算符(是用来返回结果的)
1.比较运算符“>”、“<”、“==”、“>=”、“<=”、“!=”比较结果为boolean值例如:var a = 2 > 1;console.log(a);//输出a为true2.逻辑运算符“&&”、“||”、“!”运算结果为真实的值例如:var a = 1 && 2; //返回2 如果为true,一直执行下去,一直到最后一个值 var b = 0 && 1; //返回0 如果原创 2017-11-29 00:15:56 · 758 阅读 · 0 评论 -
es5数组拓展,forEach遍历方法
Reduce方法的详解:翻译 2018-12-17 21:04:51 · 391 阅读 · 0 评论 -
es5数组拓展,Filter过滤方法
Filter方法详解:array.filter(function(currentValue,index,arr), thisValue);该方法与forEach()类似,也是接受两个参数,一个是数组中每个元素调用的函数,另一个是该函数内的this指向,如果不传默认是window,传指了就指向该值。但也forEach()不同的是,函数需要返回true/false来过滤数组,将是true的元素拿出...翻译 2018-12-17 21:45:33 · 1482 阅读 · 0 评论 -
es5数组拓展,map映射方法
map()方法的详解:array.map(function(currentValue,index,arr), thisValue);传参与forEach或者Filter相同,切记:如果操作新返回的数组,es5数组拓展中使用的这些方法,都需要克隆一下,因为示例中都是复制元素(对象)地址。上代码:<!DOCTYPE html><html lang="en"><...翻译 2018-12-17 22:13:57 · 360 阅读 · 0 评论 -
es5数组拓展,Every 比较(逻辑或)方法,Some比较(逻辑与)方法
every()方法详解:every()方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。every()方法使用指定函数检测数组中的所有元素:如果数组中检测到有一个元素不满足,则整个表达式返回false,且剩余的元素不会再进行检测。如果所有元素都满足条件,则返回true。上代码:<!DOCTYPE html><html lang="en"><he...翻译 2018-12-17 22:47:32 · 239 阅读 · 0 评论 -
节流的实现
在前端开发中有一部分的用户行为会频繁的触发事件执行,而对于DOM操作,资源加载等耗费性能的处理,很可能导致界面卡顿,甚至浏览器的崩溃。函数节流throttle就为了解决类似需求应运而生的。场景:窗口调整(resize)页面滚动(scroll)抢购疯狂点击(mousedown)上代码:<!DOCTYPE html><html lang="en"><...翻译 2018-12-18 20:24:06 · 1085 阅读 · 0 评论 -
防抖的实现
函数防抖就是在函数频繁触发情况时,只有足够空闲的时间,才执行一次。场景:实时搜索(keyup)拖拽(mousemove)上代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>防抖</title&翻译 2018-12-18 20:55:55 · 1021 阅读 · 0 评论 -
ajax
1.什么是ajax?是通过js已异步的形式操作json2.ajax的步骤?1.要有浏览器2.创建xhr对象3.xhr.open(请求方式,请求地址,boolean|true 异步|false 同步);4.xhr.send();//get请求里面不许传参和post请求里面需要传参5.xhr.onreadystatechange 监测0-1,1-2,2-3,3-4 会执行四次。通...原创 2019-03-14 09:36:04 · 218 阅读 · 0 评论 -
js数组常见的知识点
1.什么是类数组?特性1:索引作为属性。特性2:有length属性。2.数组中常用的方法。改变原数组的6个方法:push(数组后面添加数据) &lt;==&gt; unshift(数组前面添加数据)pop(数组后面剪切数据) &lt;==&gt; shift(数组前面剪贴数据)splice(从第几位开始,要剪切多少个数据,添加数据)reverse(逆转)不改变原数组的4...原创 2019-03-12 22:38:04 · 220 阅读 · 0 评论 -
对象继承的四种方式
1.传统的继承方式-原型链形式:缺点:过多的继承了没有用的属性 比如Father工厂里面创建的name Father.prototype.lastName = "teng"; function Father(){ this.name = "anchao" } var father = new Father(); Son.prototype =father; funct...原创 2019-03-13 10:04:14 · 751 阅读 · 0 评论 -
js异步加载的三种方式
1.defer异步加载,要等到dom文档全部解析完才会执行。只有ie9以下可以用,特点是也可以将代码写到内部。<script type='text/javascript' src='tool.js' defer='defer'></script>2.async异步加载,加载完就执行,特点是只能加载外部脚本,不能将代码写到内部里面。<script type='t...原创 2019-03-13 12:17:20 · 234 阅读 · 0 评论 -
封装一个兼容性方法getOrSetStyle(),用来获取或设置样式
封装一个兼容性方法getOrSetStyle(),用来获取或设置样式。操作css有四种方式:三种常见操作(行间样式,内联样式,外联样式),第四种是脚本化css,看似很高大尚,其实就是间接的操作css。getOrSetStyle方法就是用来脚本化css的。前提是要搞懂以下三部分知识点:1.什么是dom.style.prop?答:这是用来读/写css行间样式的,没有兼容性问题,如果碰到像flo...原创 2018-11-28 21:34:31 · 323 阅读 · 0 评论 -
条件语句、循环语句
1.if(){}语句与短路语句&&的转化if(1>2){document.write('a')} ===> 1>2 && document.write('a')2.for循环的原理for(var i = 0; i < 5; i++){document.write('a');//循环输出5次a}它们之间的执行顺序:1.var i = 02.if(i < 5){document.write(原创 2017-11-29 23:39:11 · 302 阅读 · 0 评论 -
typeof能返回的六种数据类型
number,string,boolean,undefined,object,functionvar num = [];—-object var num = {};—-object var num = null;—object 历史遗留问题 var num = undefined; —-undefined原创 2017-11-30 22:48:12 · 5328 阅读 · 0 评论 -
类型转换
1.显示类型转换 Number(mix)Number('字符串124/123字符串',undefined)=NaNNumber(null)=0 Number(true)=1 Number(Infinity)=InfinityparseInt(string,radix) 2-36 目的:转换成整数parseInt(true/false/null/...)=NaN parseInt(原创 2017-12-01 22:34:13 · 218 阅读 · 0 评论 -
js基础决定你的上升高度
函数两种定义 1.函数声明function test(){}2.函数表达式 a.命名表达式var test = function abc(){}test.name // abcb.匿名表达式(由于表达式定义函数规则是要忽略函数名字的,如果充当了表达式,它就不能充当正常的函数体(函数声明),写了名字也没有用)var test = function (){}test.name //test函数声原创 2017-12-03 11:58:33 · 216 阅读 · 0 评论 -
预编译
1.js运行三部曲语法分析预编译(发生在函数执行的前一刻)解释执行预编译前奏 //函数声明整体提升 //变量 声明提升 1.imply global 暗示全局变量:即任何变量,如果变量未经声明就赋值,此变量就为全局对象所有eg: a = 123;eg: var a = b = 123;2.一切声明的全局变量,全是window的属性eg: var a = 123; ==> wi原创 2017-12-03 19:57:35 · 175 阅读 · 0 评论 -
闭包
1.闭包的作用实现公有变量 eg:函数累加器可以做缓存(存储结构) function eater(){ var food = ""; var obj = { eat : function(){ console.log("I am eating"+ food); food = ""; },原创 2017-12-03 23:42:40 · 165 阅读 · 0 评论 -
js的基本语法
1.命名规则:⑴变量名必须以英文字母、_ 、$ 开头。⑵变量名可以包括英文字母、_ 、$ 、数字。⑶不可以用系统的关键字、保留字作为变量名。2.数据类型⑴不可改变的原始值(栈数据) stack 原始值之间的赋值是拷贝一份数据Number String Boolean undefined null⑵引用值(堆数据) heap 引用值之间的赋值是拷贝地址array function obje原创 2017-11-28 00:04:53 · 153 阅读 · 0 评论 -
模块化
1.什么是模块化?它是将一个复杂的系统分解为多个模块,方便编码。2.为什么要用模块化?降低复杂性,降低代码的耦合度,部署方便,提高效率3.模块化的好处?1.避免命名冲突,减少变量空间污染2.更好的分离代码,按需加载3.更高复用性4.更高可维护性4.模块化规范4-1.什么是CommonJs据CommonJs规范规定每一个Js文件都可以看做一个模块,其内部定义的变量...原创 2019-03-13 17:06:53 · 258 阅读 · 0 评论