之前看过好几遍<JavaScript高级程序设计>这一书,但是始终没有完完整整的看过一遍.从现在开始我会把它完整的啃一遍,每章节都记录笔记,自己的心得,加油! 由于前三章的内容比较简单,因此我会把它们放到一个章节里面记录学习历程. 一.基本概念 1.JavaScrip与ECMAScript的关系 可以理解为JavaScript除了包含ECMAScript外,还包括DOM(文档对象模型),BOM( 浏览器对象模型) 2.<script>标签 属性: async   defer   c…
一.参数的理解 1.ECMAScript中的参数在内部是用一个数组来表示的.函数接收到的始终是这个数组,而不关心数组中包含多少个参数,即使没有参数也可以. 2.实质上,函数可以通过arguments对象来访问参数数组,从而获取传递给函数的每一个参数[即第一个参数是arguments[0],第二个参数是arguments[1],以此类推].使用length属性来确定传递进来多少个参数.eg: //函数 function sayHi(name,msg){ console.log('hello! '+…
一. javascript构成 1.javascript实现由三部分组成: ECMAScript:核心语言功能 DOM:文档对象模型,提供访问和操作网页内容的方法和接口 BOM:浏览器对象模型,提供与浏览器交互的方法和接口. 2. ECMAScript宿主环境:浏览器.Node.Adobe Flash. 二. 在HTML中引入javascript 1.<script>标签:language属性已经废弃,一般使用type="text/javascript"; 2.不要再代码中…
一.Label语句.break/continue语句和for循环语句的结合使用: 1.Label语句可以在代码中添加标签,以便将来使用.语法: label:statment   eg: start:function(; i<count; i++){ dosomething() ; } //加标签的语句一般都要与for循环等循环语句配合使用.标签可以在将来由break或者continue语句引用. 2.break/continue语句:用于在循环中精确的控制代码的执行.break语句会立即退出循环…
上一次看了第6章,面向对象.这里接着看第7章. 第7章:函数表达式 定义函数有两种方式:函数声明.函数表达式 //函数声明 function functionName(arg0,arg1,arg2){ //code... } //函数表达式 var functionName = function(arg0,arg1,arg2){ //code... }; 函数声明有个重要的特征是函数申明提升.就是在执行代码前会先读取函数声明,意味着可以把函数声明放在调用它的语句后面. //函数声明提升 sayH…
JS 面向对象的程序设计思想(1)深入理解JS对象 1.js的中没有OO语言中的'类'的概念.ECMAjs中把对象定义为:‘无序属性的集合,其属性可以包含基本值,对象或函数’. 2.ECMAScript中为对象定义了一组只有内部可以使用的属性,这些属性的目的是为了描述外部定义的属性的各种特征.这些特征是为了实现JS引擎用的, 因此再JS中不能不能直接访问它们.为了表示这个特性是内部值,把他们放到了两对中括号中,例如[[Enumerable]]. 数据属性: [[Configurable]]:可配…
函数函数对任何语言来说都是一个核心的概念.通过函数可以封装任意多条语句,而且可以在任何地方.任何时候调用执行.ECMAScript 中的函数使用function 关键字来声明,后跟一组参数以及函数体.函数的基本语法如下所示: function functionName(arg0, arg1,...,argN) { statements}以下是一个函数示例:function sayHi(name, message) { alert("Hello " + name + ",&qu…
for-in 语句 for-in 语句是一种迭代语句,用来枚举对象属性,语法:for (property in expression) statement实例:for(var propName in window){ document.write(propName);} 理解参数 EcmaScript函数参数不介意传递进来多少个参数,定义的函数接收2个参数,但是调用时未必传递2个参数,可多可少在函数体内,通过arguments对象访问这个参数数组,如下所述: 没有重载 ECMAScript函数不…
一.JavaScript组成 1.一个完成JavaScript是由ECMAScript.DOM.BOM三部分组成的. ECMAScript:提供核心语言功能--语法.类型.语句.关键字.保留字.操作符.对象: DOM:文档对象模型--提供访问和操作网页内容的方法和接口: BOM:浏览器对象模型--提供与浏览器交互的方法和接口 二.在页面中引用js 1.在网页中引用js有两种方法--嵌入和外部 <!DOCTYPE html> <html> <head> <title…
递归 function factorial(num){ if(num<=1){ return 1; }else { return num * arguments.callee(num-1); } } console.log(factorial(4)); 但是如果代码是在严格模式下开发: "use strict"; function factorial(num){ if(num<=1){ return 1; }else { return num * arguments.cal…