06 2017 档案

摘要:一、元字符: 每一个正则表达式都是由元字符和修饰符组成的 [元字符] ->在两个/之间的具有意义的一些字符 1、具有特殊意义的元字符 \ : 转义字符,转译后面字符所代表的含义 ^ : 以某一个元字符开始 $ : 以某一个元字符结尾 \n : 匹配一个换行符 . : 除了\n以外的任意字符 () : 阅读全文
posted @ 2017-06-30 16:08 diasa 阅读(380) 评论(0) 推荐(0)
摘要:一、正则:就是一个规则,用来处理字符串的一个规则(正则就是用来处理字符串的) 处理: 1)、匹配 判断一个字符串是否符合我们制定的规则->test reg.test(str) 2)、捕获 把字符串中符合我们正则规则的内容捕获到 exec reg.exec(str) 二、如何创建一个正则? 字面量方式 阅读全文
posted @ 2017-06-30 14:15 diasa 阅读(556) 评论(0) 推荐(0)
摘要:具体代码如下: 数据data.txt代码 阅读全文
posted @ 2017-06-30 13:35 diasa 阅读(371) 评论(0) 推荐(0)
摘要:一、表格排序 二、DOM映射机制 页面中的标签和JS中获取到的元素对象(元素集合)是紧紧的绑定在一起的,页面中的HTML结构改变了,JS中不需要重新获取,集合里面的内容也会跟着自动改变。 阅读全文
posted @ 2017-06-29 18:10 diasa 阅读(456) 评论(0) 推荐(0)
摘要:数据绑定的方法: 1、利用动态创建元素节点和把它追加到页面中的方式实现数据绑定(将动态添加的li添加到ul中) 优势:把需要动态绑定的内容一个个的追加到页面中,对原来的元素没有任何的影响 弊端:每当创建一个li,我们就添加到页面中,引发一次DOM的回流,最后引发回流次数过多,影响我们的性能。 2、字 阅读全文
posted @ 2017-06-29 17:37 diasa 阅读(966) 评论(0) 推荐(0)
摘要:前后端交互的简单模型 1、JSON不是一个单独的数据类型,它是一种特殊的数据格式->它是对象数据类型的 2、在window浏览器对象中,提供了一个叫做JSON的属性,它里面提供了两个方法: ->window.JSON 1)、JSON.parse ->把JSON格式的字符串转换成JSON格式的对象 2 阅读全文
posted @ 2017-06-29 16:30 diasa 阅读(186) 评论(0) 推荐(0)
摘要:回调函数: sort深入理解代码 阅读全文
posted @ 2017-06-29 15:49 diasa 阅读(171) 评论(0) 推荐(0)
摘要:一、类数组转换 类数组都有哪些,除了arguments还有下面两个HTMLCollection和NodeList 然而在IE6-8浏览器中,不支持借助数组的slice方法实现将元素集合/节点集合的类数组转换为数组。会报错 但是对于arguments借用数组的方法是不存在任何兼容性问题的 标准浏览器可 阅读全文
posted @ 2017-06-29 14:58 diasa 阅读(224) 评论(0) 推荐(0)
摘要:具体代码如下 阅读全文
posted @ 2017-06-29 13:52 diasa 阅读(2029) 评论(0) 推荐(0)
摘要:一共四个方法,面试的时候可以考虑: 阅读全文
posted @ 2017-06-29 11:02 diasa 阅读(290) 评论(0) 推荐(0)
摘要:apply和call的方法是一模一样的,都是用来改变方法的this关键字,并且把方法执行:而且在严格模式和非严格模式下对于第一个参数是null/undefined这种情况的规律是一样的; bind:这个方法在IE6-8下不兼容 ->和call和apply类似都是用来改变this关键字的 阅读全文
posted @ 2017-06-28 18:00 diasa 阅读(240) 评论(0) 推荐(0)
摘要:var obj = {name:"张三"} function fn(){ console.log(this) } fn(); obj.fn(); // obj.fn is not a function fn.call(obj) //首先我们让原型上的call方法执行,在执行call方法的时候,我们让 阅读全文
posted @ 2017-06-28 17:23 diasa 阅读(135) 评论(0) 推荐(0)
摘要:注意:Function.prototype是函数数据类型的值,但是相关操作和之前的一模一样->Empty/anonymous 函数本身也会有一些自己的属性: length :形参的个数 name:"Fn" 函数名 prototype 类的原型,在原型上定义的方法都是当前Fn这个类实例的公有方法 __ 阅读全文
posted @ 2017-06-28 16:15 diasa 阅读(234) 评论(0) 推荐(0)
摘要:一、可枚举和不可枚举 for in 循环在遍历的时候,默认的话可以把自己私有的和它所属类原型上的扩展的属性和方法都可以遍历到,但是一般情况下,我们遍历一个对象只需要遍历私有的即可,我们可以使用以下的判断进行处理。obj.propertyIsEnumerable(key) 或者obj.hasOwnPr 阅读全文
posted @ 2017-06-28 11:11 diasa 阅读(863) 评论(2) 推荐(1)
摘要:一、单例模式 对象数据类型的作用 把描述同一个事物(同一个对象)的属性和方法放在一个内存空间下,起到了分组的作用,这样不同事物之间的属性即使属性名相同 ,相互也不会发生冲突 我们把这种分组编写代码的模式叫做"单例模式" 在单例模式中我们把person1或者person2也叫做"命名空间" 单例模式是 阅读全文
posted @ 2017-06-27 17:30 diasa 阅读(311) 评论(0) 推荐(0)
摘要:一、预解释 1、当浏览器加载HTML页面的时候,首先会提供一个供全局JS代码执行的环境->全局作用域(global/window) 2、预解释:(变量提升) 在当前的作用域中,JS代码执行之前,浏览器首先会默认的把所有的带var和function的进行提前的声明或者定义 var num = 12; 阅读全文
posted @ 2017-06-26 15:23 diasa 阅读(359) 评论(0) 推荐(0)
摘要:一、函数基本知识 1、function:函数->具备某个功能的一个方法。方法本身是没有什么意义的,只有执行这个方法实现了对应的功能才有自己的价值。 2、函数由两部分组成:创建一个函数、执行这个函数 function 方法名(){ //函数体:存放的某个功能实现的JS代码 } 方法名(); 创建一个函 阅读全文
posted @ 2017-06-23 16:15 diasa 阅读(236) 评论(0) 推荐(0)
摘要:一、递归 : 当前函数自己调用自己执行 实现1-100之间,把所有不能被三整除的数相加(这种类型的问题首先想到的是递归) 从1-10把所有能被二整除的进行相乘 使用setTimeout实现一个和setInterval一模一样的功能 二、冒泡排序 冒泡排序的思想:让当前项和后一项进行比较,如果当前项大 阅读全文
posted @ 2017-06-23 10:59 diasa 阅读(481) 评论(0) 推荐(0)
摘要:Object->{}、[]、/^$/、时间 每一个对象都是由属性名和属性值组成的 var ary = [12,23,34,45] 数组也是对象,我们看到的是它的属性值,属性名是数字0~3。0存储的是第一项的值 1存储的是第二项的值...我们把代表第几项的这个数字的属性名叫做数组的索引 length: 阅读全文
posted @ 2017-06-22 16:09 diasa 阅读(262) 评论(0) 推荐(0)
摘要:var oDiv = document.getElementById('div1'); oDiv.style.xxx都是在操作(获取/设置)它的行内样式 oDiv.style.backgroundColor = "red";//设置行内样式中的背景颜色为红色 虽然在样式表中设置了width的值,但是 阅读全文
posted @ 2017-06-22 10:16 diasa 阅读(196) 评论(0) 推荐(0)
摘要:定时器:设置一个定时器,在设置一个等待的时间,到达指定时间后,执行对应的操作 window.setInterval([function],[interval]) 设置一个定时器,到达指定的时间interval ,执行我们的操作function,然后定时器并没有停止,以后每隔这么长时间,都重新的执行我 阅读全文
posted @ 2017-06-21 16:48 diasa 阅读(348) 评论(0) 推荐(0)
摘要:获取当前自己电脑的时间:不能做重要的用途,例如淘宝秒杀 var time = new Date(); // 时间格式数据 (对象数据类型) 下面是格式化时间的方法 效果如下: 将时间格式的字符标准化 倒计时小案例: 主要获取时间的代码如下 需要先获取当前时间和目标时间的毫秒数 通过getTime() 阅读全文
posted @ 2017-06-21 16:20 diasa 阅读(187) 评论(0) 推荐(0)
摘要:具体代码如下: 阅读全文
posted @ 2017-06-21 15:21 diasa 阅读(295) 评论(0) 推荐(0)
摘要:String :字符串类 对象、类、实例 例如:自然界中万物都是对象,类是对 对象的一个细分 比如我们的人类、动物类、植物类 实例是每一个类别中的一个具体的事物,比如我们就是人类中的一个实例 js中的对象就是一个泛指,所有东西都是对象,类是把这个泛指具体的细分: Object 、Array、RegE 阅读全文
posted @ 2017-06-21 14:46 diasa 阅读(275) 评论(0) 推荐(0)
摘要:Math 是数学函数,里面提供了几个操作数字的方法 1、Math.abs() 取绝对值 2、Math.ceil() 向上取整 3、Math.floor() 向下取整 4、Math.round() 四舍五入 5、Math.max(val1,val2,val3) 取最大值 6、Math.min(val1 阅读全文
posted @ 2017-06-21 11:15 diasa 阅读(207) 评论(0) 推荐(0)
摘要:动态创建一个元素标签(createElement) document.createElement //动态创建一个元素标签对象 appendChild //把元素添加到指定的容器的末尾位置 容器.appendChild(元素) insertBefore //把新的元素newEle添加到老的元素old 阅读全文
posted @ 2017-06-21 10:43 diasa 阅读(176) 评论(0) 推荐(0)
摘要:节点:Node 一个页面中的标签、文字、注释。。。都是节点 childNodes:获取所有的子节点 children:获取所有的元素子节点 parentNode:获取父亲节点 previousSibling:获取上一个哥哥节点 nextSibling:获取下一个弟弟节点 firstChild:获取所 阅读全文
posted @ 2017-06-20 23:02 diasa 阅读(608) 评论(0) 推荐(0)
摘要:javascript中常用的几种输出的方式: 1、在浏览器的控制台输出(console.log("要输出的内容") console.dir("");在控制台输出一个对象的详细信息 console.table();把一个数据(json)按照表格的形式输出,我们在查看结构的时候更加的清晰一些) 浏览器F 阅读全文
posted @ 2017-06-20 17:16 diasa 阅读(880) 评论(0) 推荐(0)
摘要:DOM:document object model 文档对象模型 DOM就是描述整个html页面中节点关系的图谱,可以如下图理解 在DOM中,提供了很多的获取元素的方法和之间关系的属性以及操作这些元素的方法。 1、获取页面中元素的方法 1)、document.getElementById('元素的I 阅读全文
posted @ 2017-06-20 15:51 diasa 阅读(37387) 评论(0) 推荐(0)
摘要:Document 阅读全文
posted @ 2017-06-20 14:10 diasa 阅读(368) 评论(0) 推荐(0)
摘要:简化版本: 阅读全文
posted @ 2017-06-20 12:30 diasa 阅读(221) 评论(0) 推荐(0)
摘要:一、for循环 四部曲: 1、设置初始值 var i = 0 2、设置循环执行条件 i < 5 3、执行循环体中的内容{ [循环体] } 包起来的部分 4、每一轮循环完成后都执行我们的i++累加操作 break/continue:在循环体中遇到这两个关键字,循环体中的后面的代码就不在执行了 brea 阅读全文
posted @ 2017-06-20 10:29 diasa 阅读(1026) 评论(0) 推荐(0)
摘要:js里面的三个判断:if else、三元运算符、switch case if 、else if、else 是最常用的判断,可以解决js中的所有的判断需求 三元运算符应用于简单的if else情况 switch case应用于不同值情况下的不同操作 一、if else if中的条件可以是 小于、大于、 阅读全文
posted @ 2017-06-19 16:23 diasa 阅读(21702) 评论(0) 推荐(0)
摘要:一、变量 js中的变量是一个抽象的概念,变量用来存储值和代表值的。 js中定义一个变量非常的简单:var 变量名 = 变量值 =是赋值操作,左边是变量名,右边是存储的值 js中的变量是松散类型的:通过一个var变量名就可以存储任何的数据类型 例如 var name = '李四' 二、数据类型 1、基 阅读全文
posted @ 2017-06-19 15:16 diasa 阅读(646) 评论(0) 推荐(0)
摘要:一、js组成 1、js:javascript,是一门轻量级的脚本编程语言 2、ECMAScript是介于4和5版本之间的:定义了js里面的命名规范、变量、数据类型、基本语法、操作语句等最核心的东西。 3、DOM:document object model 文档对象模型 4、BOM:browser o 阅读全文
posted @ 2017-06-16 17:02 diasa 阅读(347) 评论(0) 推荐(0)
摘要:模块化的概念是非常重要的,es6都会使用到模块化 index.js 注意: 1、如果没有default 那么在另一个文件里面 必须使用 {}进行包裹 且里面的名称需要保持一致 import {A ,test,hello} from 'index' import * as lesson from 'i 阅读全文
posted @ 2017-06-16 11:05 diasa 阅读(197) 评论(0) 推荐(0)
摘要:Decorator就是修饰器的意思 一、概念 修饰器是一个函数,用来修改类的行为(注意:1、函数 2、修改行为 3、对类进行操作) 1、只读的修饰器 也可以在类的前面进行修饰 阅读全文
posted @ 2017-06-16 10:44 diasa 阅读(1533) 评论(0) 推荐(0)
摘要:Generator可以理解为异步编程的一种解决方案。 1、generator的基本定义就是在function后面加一个*符号 通过next一步步执行yield的代码 来一个具体事例吧,这个确实理解不是很深 1、抽奖 2、长轮询 阅读全文
posted @ 2017-06-16 10:13 diasa 阅读(219) 评论(0) 推荐(0)
摘要:Iterator(迭代器)接口 输出结果如下: 自定义iterator接口 阅读全文
posted @ 2017-06-16 09:44 diasa 阅读(217) 评论(0) 推荐(0)
摘要:1、alert('内容') 在浏览器中弹出框显示我们的内容 不输入内容弹出undefined (注意alert弹出的都是字符串) 2、document.write('内容') 在页面中输出显示我们的内容 3、console.log('内容') 在控制台输出我们的内容 F12打开控制台 在consol 阅读全文
posted @ 2017-06-15 17:45 diasa 阅读(392) 评论(0) 推荐(0)
摘要:本系列js总结涉及到js从基础到难点的几乎所有的知识点,如有说的不准确的地方请多多指正,谢谢 一、行内 引入(不推荐,安全性能很低) 二、内嵌式(将js代码写在script脚本块之间) 三、外链式(将js代码写在外面文件中,通过src找到导入) 细节问题: 1、在外链式中,script脚本块中间不可 阅读全文
posted @ 2017-06-15 16:43 diasa 阅读(482) 评论(0) 推荐(0)
摘要:promise的出现主要是在异步操作中带来很大的便利 es5中的传统ajax 通过promise来实现上面的情况 出错捕获异常(通过catch捕获出错的信息) promise两种使用场景 (promise.all()当所有的promise实例都resolve之后 才会触发promise.all(), 阅读全文
posted @ 2017-06-15 14:36 diasa 阅读(209) 评论(0) 推荐(0)
摘要:一、基本定义和生成实例 二、继承 (通过extends直接子类继承父类) 继承传递自己的参数(注意:可以使用super()来使用自己的属性,并且super必须放在第一行) 类中的getter和setter 静态方法和静态属性 阅读全文
posted @ 2017-06-15 14:03 diasa 阅读(253) 评论(0) 推荐(0)
摘要:一、Proxy(代理)和Reflect(反射)这两个属于高级一点的东西了 1、Proxy 2、Reflect 二、具体的使用场景(数据校验) 阅读全文
posted @ 2017-06-15 13:32 diasa 阅读(223) 评论(0) 推荐(0)
摘要:这里简单的说下他们之间的比较 主要在增、删、改、查四个方面阐述,详见代码 1、map和数组对比 2、set和数组对比 3、map、set和Object对比 通过对比可以发现,能使用map的优先使用,不使用数组, 考虑数据的唯一性,考虑使用set,不使用Objet 以后的开发中可以优先考虑使用map和 阅读全文
posted @ 2017-06-15 11:07 diasa 阅读(301) 评论(0) 推荐(0)
摘要:一、set数据结构 (使用 new来创建一个set集合 通过add方法添加元素 通过size来获取set集合的长度) 还有另外一种初始化的方式(通过直接把数组传递进去) set里面的元素不可以重复(可以通过set的这个特性进行数组去重,注意:转化过程中不会进行 数据类型转化) set的一些方法(ad 阅读全文
posted @ 2017-06-14 14:14 diasa 阅读(283) 评论(0) 推荐(0)
摘要:Symbol是es6新的数据类型。 Symbol所声明的值是唯一的,独一无二的。永远不可能相等。Symbol.for(key) 先检查是否声明了key值 如果未声明就相当于调用Symbol 如果已经声明了 就相当于获取这个Symbol Symbol的使用 可以使用Symbol声明属于自己的唯一的变量 阅读全文
posted @ 2017-06-14 11:19 diasa 阅读(528) 评论(0) 推荐(0)
摘要:一、对象的简洁表示法 二、属性表达式 三、新增api (Object.is()判断两个是否相等 相当于 Object.assign()方法将源对象(source)的所有可枚举属性,复制到目标对象(target) 同名属性会进行覆盖 并且只进行浅拷贝) 四、扩展运算符 (这个babel支持的不是很好) 阅读全文
posted @ 2017-06-14 10:34 diasa 阅读(217) 评论(0) 推荐(0)
摘要:在函数扩展方向也新增了一些特性,感觉这些特性也很重要 一、参数默认值(注意:默认值的后面不可以在添加没有默认值的参数) 二、rest参数(...) 将一系列离散的值 转化成数组 同样rest后面不可以再有参数 三、扩展运算符(...)将一个数组 转化成一系列离散的值 四、箭头函数(挺重要的 ,要不某 阅读全文
posted @ 2017-06-14 09:59 diasa 阅读(258) 评论(0) 推荐(0)
摘要:在数组的扩展上感觉新增了很多实用的特性,并且感觉还挺重要的 一、Array.of() 将数据变量转化成数组形式 二、Array.from() 用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map) 阅读全文
posted @ 2017-06-13 16:49 diasa 阅读(272) 评论(0) 推荐(1)
摘要:数值扩展主要是新增了一些特性,例如新增方法和方法调整 一、二进制数值表示(使用0B作为前缀,b是不区分大小写的) 八进制数值表示(使用0o作为前缀) 二、Number.isFinite(有穷的) Number.isNaN(非数字) 三、Number.isInteger(判断是否为整数,注意:接收的参 阅读全文
posted @ 2017-06-13 16:07 diasa 阅读(229) 评论(0) 推荐(0)
摘要:一、字符串的扩展主要是新增了一些特性 1、Unicode码 2、api ①、includes startsWith endsWith ②、repeat ③、padStart padEnd(补全) ④、raw(进行转义) 3、字符串模板(感觉挺重要的,注意不是单引号,是键盘里面数字1左侧的按键,同时引 阅读全文
posted @ 2017-06-12 17:05 diasa 阅读(232) 评论(0) 推荐(0)
摘要:一、es6在正则方面主要是增加了一些新的方法及一些修饰符,下面一一列出 ①构造函数不同 ②新增修饰符 y修饰符(也g一样也是全局匹配,g不强调下一次匹配的位置,而y必须是下一次匹配的第一个字符) u修饰符(这个修饰符不知道啥用途,感觉实际工作不会用太多吧 ,了解一下就行了) 补充其他 阅读全文
posted @ 2017-06-12 16:23 diasa 阅读(213) 评论(0) 推荐(0)
摘要:一、解构赋值的定义 简单的理解就是赋值=号左右两侧具有相同的结构,来进行一一对应的赋值的语句 二、解构赋值的分类 数组解构赋值 对象解构赋值 字符串解构赋值 布尔值解构赋值 函数参数解构赋值 数值解构赋值 (重点理解前两个就可以了) 三、对于每个分类单独解释 1、数组解构赋值(下面进行代码展示,并添 阅读全文
posted @ 2017-06-12 15:44 diasa 阅读(340) 评论(0) 推荐(1)
摘要:本系列博客所写的内容是自己在平时学习当中自己的一些总结,当做笔记和复习的作用,如果有哪里说得不对,欢迎多多指出,谢谢 废话不多说 现在开始吧! let和const都可以被用做定义变量(和var相似),但也存在一些区别及新的特性,如下所示 一、let命令(用于声明变量) 1、由于js不存在块级作用域, 阅读全文
posted @ 2017-06-12 15:09 diasa 阅读(293) 评论(2) 推荐(0)