Javascript中执行环境是定义了变量或函数有权访问的其他数据,决定了各自的行为,每个执行的环境都有一个与之关联的变量对象,环境中定义的所以变量和函数都保存在这个对象中. 全局执行环境是最外围的一个执行环境.全局执行环境被认为是window对象,所有全局变量和函数都作为window对象的属性和方法创建的.某个执行环境中的所有代码执行完后,该环境被销毁,保存在其中的所有变量和函数定义也随之销. 每个函数都有自己的执行环境,当执行流进入一个函数时,函数的环境就会被推入一个环境栈中,而在函数执行完…
在javascript中函数声明会被提升,而函数表达式不会被提升.当函数执行时,会创建一个执行环境和相应的作用域链,然后利用arguments和其他的命名参数的值来初始化函数的活动对象,作用域链链中所有的外部活动对象都处于第二的位置. function compare(num1, num2){ if(num1 < num2){ retunr -1; } else if(num1 = num2){ retunr 0; } else(num1 > num2){ retunr 1; } } var…
Sorry,前两张介绍的主题还是JavaScript,而第一章介绍了JavaScript和ECMAScript区别,所以前两章介绍的主题应该改为ECMAScript,但是 标题就不改了因为现在人们习惯性称之为JavaScript,所以以后的我会在内容中区分清楚. 好了,那我们这一次的主题就是ECMAScript的高级概念: 1.严格模式 严格模式是在ECMAScript 5中引入的概念,目的是为ECMAScript中定义一种不同的解析和执行模型,来解决JS中的一些不严谨的行为如: 一条语句的后面…
特别注意:ECMAScript是区分大小写的. 一.变量 1.ECMAScript的变量是松散型的.所谓松散型就是可以用来保存任何类型的数据.即每个变量仅仅是一个用于保存值的占位符而已.定义变量时要使用var操作符,后跟变量名. 注意:省略var操作符,从而可以创建一个全局变量.不推荐这样的做法. 2.多个变量定义,用多个逗号隔开即可: ', content=, example=false; 二.数据类型 ECMAScript有五种简单[基本]数据类型:undefined.null.Boolea…
  第一章 简介   诞生时间 1995 最初用途 客服端验证 第一版标准 注意是标准 1997年 Ecma-262  一个完整的js实现由三部分组成 ECMAScript DOM 文档对象模型 BOM 浏览器对象模型 ECMAScript的宿主环境 web浏览器 Node(服务器js平台) adobe flash js和as的关系 他们都实现了 ECMAScript 五大主流浏览器 IE Firefox Safari Chrome Opera dom介绍 它是针对xml但经过扩展用于html的…
setTimeout 比 setInterval 性能更好 // 取代setInterval setTimeout(function self () { // code goes here setTimeout(self, interval); }, interval); 对异步执行的大数组的分割执行 // 大块.异步数组的处理 function chunk(arr, process, context) { setTimeout(function self() { var item = arr.…
函数实际上是对象,每个函数都是Function类型的实例. 函数是引用类型. 函数名实际上是一个指向函数对象的指针,不会与某个函数绑定. // 这种写法更能表达函数的本质 var sum = function(num1, num2) { return num1 + num2; }; var anotherSum = sum; sum = null; console.log(anotherSum(, )); console.log(sum(, )); // typeerror: sum is no…
1.组合继承 (JavaScript 中最常用的继承模式 ) (position: page168) (书中定义了两个变量名 SuperType   SubType  乍一看 感觉不太能区分,我将改为 a b ,更加明显区分开来这是两个东西.) function a(name){ this.name = name; this.colors = ["red", "blue", "green"]; } a.prototype.sayName = fu…
1 <script>的6个属性 async  立即下载当前script标签的外部脚本 但不能影响别的 charset 没用了 defer  文档显示之后再执行脚本,只对外部脚本有效 language 没用了 src  type 描述代码内容Mine类型 默认就是text/javascript 没什么用   2 在解释器对<script>元素内部的所有代码求值完毕以前 页面中的其余内容都不会被浏览器加载或显示   3 有两种script 嵌入式 外部引入式 在解析外部引入式的js文件…
1.基本类型与引用类型 基本类型:值保存在变量中 (Number.String.Boolean.Undefined.Null).在内存中占据固定大小空间,被保存在栈内存中 引用类型:值是保存在内存中的对象:操作对象实际操作的是对象的引用而不是实际的对象.保存在堆内存中 复制变量值:                传递参数:ECMAScript中所有函数的参数都是按值传递的 基本类型的值传递如同基本类型的值复制一样,引用类型的值传递如同引用类型的变量复制一样 instanceof  检测对象的类型…