var a = "Hello World"; if(a.indexOf( "lo" ) >= 0) { // true //找到匹配 } if(a.indexOf( "xo" ) == -1) { // true //没有找到匹配 } >= 0 和 == -1 这样的写法不是很好,称为“”抽象渗漏“ ...
分类:
编程语言 时间:
2017-08-16 15:29:50
阅读次数:
165
处理程序三要素: 引擎:编译与执行过程。 编译器:语法分析与代码生成等。 作用域:收集并维护由所有声明的标识符(变量)组成的一系列查询,并实施一套非常严格的规则,确定当前执行的代码对这些标识符的访问权限。 示例: var a=2;的解析过程: 1.编译器 询问 作用域 是否已经有该名称的变量 是:忽 ...
分类:
编程语言 时间:
2017-07-19 00:15:35
阅读次数:
173
语法 语句表达式 句子是完整表达某个意思的一组词,由一个或多个短语组成,他们之间由标点符号或者连接词连接起来。 语句相当于句子,表达式相当于短语,运算符则相当于标点符号和连接词。 JavaScript 中表达式可以返回一个结果值。 var a = 3 * 6; var b = a; b; var a ...
分类:
编程语言 时间:
2017-07-11 19:18:19
阅读次数:
165
去年6月份。 ES2015正式公布(也就是ES6。ES6是它的乳名),当中Promise被列为正式规范。作为ES6中最重要的特性之中的一个,我们有必要掌握并理解透彻。本文将由浅到深,解说Promise的基本概念与使用方法。 ES6 Promise 先拉出来遛遛 一、Promise小试 复杂的概念先不 ...
分类:
编程语言 时间:
2017-07-07 20:18:24
阅读次数:
216
类型: JavaScript 有7种内置类型 空值 (null) 未定义(undefined) 布尔值(boolean) 数字(number) 字符串(string) 对象(object) 符号(symbol) 除对象以外,其他统称为“基本类型” 用typeof 运算符来查看值的类型 typeof ...
分类:
编程语言 时间:
2017-07-04 18:18:20
阅读次数:
185
this和对象原型 this是一个很特别的关键字,被自动定义在所有函数的作用域中 // foo.count 是0,字面理解是错误的 function foo(num) { console.log("foo:"+ num); this.count++; } foo.count = 0; var i; ...
分类:
编程语言 时间:
2017-06-28 18:51:56
阅读次数:
164
规避冲突 function foo(){ function bar(a){ i = 3; console.log(a + i); } for ( var i=0; i < 10; i++){ bar(i * 2) } } // 11无限死循环 区分函数声明和函数表达式最简单的方法是看 functio ...
分类:
编程语言 时间:
2017-06-27 16:23:56
阅读次数:
182
本书主要从两个部分来进行阐述:作用域与闭包、this与对象原型。 一 作用域与闭包 1— 作用域 对JavaScript而言,大部分情况下编译发生在代码执行前的几微妙的时间内。在我们所讨论的作用域背后,JavaScript引擎为保证性能最佳做出了努力,如JIT,可以延迟编译或重编译。 引擎=>从头到 ...
分类:
编程语言 时间:
2017-06-22 19:46:51
阅读次数:
249
自学前端已经有很长一段时间了,工作还没落实,再加上生活中的些与不如意,各种落差,让人心情急躁。再补充点之前读你不知道的JavaScript的读书笔记,和感悟。 1、在数组上应用for..in循环有时候会产生出人意料的结果,因为这种枚举不止会包含所有的数值索引还会包括所有可枚举属性,例如: 最好只在对 ...
分类:
其他好文 时间:
2017-06-16 10:16:30
阅读次数:
129
读《你不知道的javascript》一书做个笔记;编译原理: js是一门编译型的语言,与传统编译语言类似,传统编译的过程分为三个阶段 ; 1. 分词/词法分析; 2.解析/语法分析; 3.代码生成 ; js引擎在编译时会比较复杂 具体多么复杂我也不造,大概就是对1,3 进行了优化使其快速编译完成并立 ...
分类:
编程语言 时间:
2017-05-18 15:44:11
阅读次数:
258