《JavaScript高级程序设计》第1-3章

第一章 JavaScript简介

1、JavaScript实现:由三个不同的部分组成:核心(ECMAScript)、文档对象模型(DOM)、文档对象模型(BOM

2、ECMAScript

1)由ECMA-262定义的ECMAScriptWeb浏览器没有依赖关系,Web浏览器只是ECMAScript实现的可能宿主环境之一。

2)规定了这门语言的几个组成部分:语法、类型、语句、关键字、保留字、操作符、对象。

3)ECMAScript兼容:支持ECMA-262描述的所有“类型、值、对象、属性、函数以及程序句法和语义”;支持Unicode字符标准;添加了ECMA-262没有描述的“更多类型、值、对象、属性和函数”;支持ECMA-262没有定义的“程序和正则表达式语法”。

3、文档对象模型(DOM):文档对象模型是针对XML但经过扩展用于HTML的应用程序编程接口(API)。DOM把整个页面映射为一个多层节点结构。

4、浏览器对象模型(BOM):处理浏览器窗口和框架,以及其他的一些扩展功能。弹出新浏览器窗口的功能;移动、缩放和关闭浏览器窗口的功能;提高浏览器详细信息的navigator对象;提供浏览器所加载页面的详细信息的location对象;提供用户显示器分辨率详细信息的screen对象;对cookie的支持;像XMLHttpRequestIEActiveXObject这样的自定义对象。

第二章 在HTML中使用JavaScript

1、<script>元素的属性

1)async:可选,表示立即下载脚本,但可以同时进行页面的其他操作,async=”async”,只适用于外部文件,Firefox3.6Safari5Chrome有效

2)charset:可选,表示通过src属性指定的代码的字符集

3)defer:可选,表示脚本可以延迟到文档完全被解析和显示之后再执行,defer=”defer”,只适用于外部文件,IE4Firefox3.5Safari5Chrome有效

4)language:已废弃

5)src:可选,表示包含要执行代码的外部文件

6)typeMIME类型):可选,表示编写代码使用脚本语言的内容类型,一般为type=text/javascript

2<script>元素的使用:包含在<script>元素内部的JavaScript代码将被从上至下依次解释,在解释器对<script>元素内部的所有代码求值完毕以前,页面中的其余内容都不会被浏览器加载或显示。注意不要在非结束位置放置</script>,或者使用转义字符“\”。

1)直接在页面中嵌入JavaScript代码:<script type=”text/javascript”></script>

2)包含外部JavaScript文件:<script type=”text/javascript” src=”example.js”></script>,注意不要再包含嵌入代码。

3、<script>元素的位置

1)包含在<head>元素中

2)包含在<body>元素的末尾

4、文档模式

1)混杂模式:会让IE的行为与IE5相同

2)标准模式:会让IE的行为更接近标准行为

<!-- HTML 4.01严格型 -->

<!DOCTYPE HTML PUBLIC "-/W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/strict.dtd">

<!-- XHTML 1.0严格型 -->

<!DOCTYPE HTML PUBLIC "-/W3C//DTD XHTML 1.0 Strictl//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm1-strict.dtd"> 

<!-- HTML5 -->

<!DOCTYPE HTML>

5、<noscript>元素:<noscript>可以包含能够出现在<body>中的任何HTML元素,<script>元素除外。浏览器不支持脚本或浏览器支持脚本但脚本被禁用时显示<noscript>中的内容。

第三章 基本概念

1、语法

1)区分大小写

2)标识符:第一个字符必须是一个字母,下划线和美元符号,其他字符可以是字母、下划线、美元符号或数字。ECMAScript标识符采用驼峰大小写格式,也就是第一个字母小写,剩下的每个单词的首字母大写

3)注释:单行注释//,多行注释/**/

4)严格模式:可以在网页顶部和函数体顶部添加"use strict"IE10+Firefox4+Safari5.1+Opera12+Chrome有效

5)语句:ECMAScript中的语句以一个分号结尾;在控制语句中使用代码块。

2、关键字和保留字

1)关键字:breakdoinstanceoftypeofcaseelsenewvarcatchfinallyreturnvoidcontinueforswitchwhiledebuggerfunctionthiswithdefaultifthrowdeleteintry

2)保留字:abstractenumintshortbooleanexportinterfacestaticbyteextendslongsupercharfinalnativesynchronizedclassfloatpackagethrowsconstgotoprivatetransientdebuggerimplementsprotectedvolatiledoubleimportpublicletyield

3)其他:evalarguments

3、变量:定义变量都使用var操作符,用var操作符定义的变量将成为定义该变量的作用域中的局部变量;省略var操作符创建的变量是全局变量;可以使用一个语句定义多个变量,用逗号分隔

4、数据类型:基本数据类型:UndefinedNullBooleanNumberString;复杂数据类型:Object

1)typeof操作符

2)Undefined类型:用于区分空对象指针和未经初始化的变量

3)Null类型:值为null

4)Boolean类型:值为truefalse

数值类型

转换为true的值

转换为false的值

Boolean

true

false

String

任何非空字符串

" "(空字符串)

Number

任何非零数字值(包括无穷大)

0NaN

Object

任何对象

null

Underfined

n/a

undefined

5)Number类型:十进制、八进制(第一位必须是0,后面是0~7)、十六进制(第一位必须是0x,后面是0~F

6)String类型

7)Object类型

5、操作符

1)一元操作符:前置和后置的递增和递减操作符、一元加和减操作符

2)位操作符:按位非(NOT)、按位与(AND)、按位或(OR)、按位异或(XOR)、左移、有符号的右移、无符号的右移

3)布尔操作符:逻辑非、逻辑与、逻辑或

4)乘性操作符:乘法、除法、求模

5)加性操作符:加法、减法

6)关系操作符:小于、大于、小于等于、大于等于

7)相等操作符:相等和不相等、全等和不全等

8)赋值操作符:乘赋值(*=)、除赋值(/=)、模赋值(%=)、加赋值(+=)、减赋值(-=)、左移赋值(<<=)、有符号右移赋值(>>=)、无符号右移赋值(>>>=)

9)逗号操作符

6、语句

1)if语句

2)do-while语句

3)while语句

4)for语句

5)for-in语句:用于枚举对象的属性

6)lable语句:在代码中添加标签

7)breakcontinue语句

8)with语句:将代码的作用域设置到一个特定的对象中

9)switch语句

7、函数

1)参数

2)没有重载

posted @ 2015-12-25 00:12  吴萍  阅读(241)  评论(0编辑  收藏  举报