1 数据类型
a.数据类型共有7种,字符串(string)、数字(number)、布尔(boolean)、数组(array)、对象(object)、Null、Undefined。
其中布尔(逻辑)类型只能有两个值:true 或 false,Undefined类型只有一个值:undefined,Null类型只有一个值:null。
b.对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。
属性由逗号分隔:var person={firstname:"Bill", lastname:"Gates", id:5566};。
c.对象属性有两种寻址方式:name=person.lastname;和name=person["lastname"];。
d.数组创建:var cars=new Array();cars[0]="Audi";cars[1]="BMW";cars[2]="Volvo";
或者 (condensed array):var cars=new Array("Audi","BMW","Volvo");
或者(literal array):var cars=["Audi","BMW","Volvo"];。
e.数组下标是基于零的,所以第一个项目是 [0],第二个是 [1],以此类推。
2 变量
a.变量的作用域(scope):全局变量(无声明符号)和局部变量(用var来声明)
b.在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
c.可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。只要函数运行完毕,本地变量就会被删除。
d.在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
3 函数
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
4 js对象数据类型
a.JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。在 JavaScript 中,对象是拥有属性和方法的数据。属性是与对象相关的值,方法是能够在对象上执行的动作。
b.JavaScript的内建对象:
Array对象、Boolean对象、Date对象、Math对象、Number对象、String对象、RegExp对象、Functions对象、Events对象等。
c.JavaScript 是面向对象的语言,但 JavaScript 不使用类。在 JavaScript 中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。JavaScript 基于 prototype,而不是基于类的。
5 宿主(运行环境提供)对象-BOM
a.所有非本地对象都是宿主对象(host object),即由 ECMAScript 实现的宿主环境提供的对象。所有 BOM 和 DOM 对象都是宿主对象。
b.浏览器对象模型 (BOM browser object model) 使 JavaScript 有能力与浏览器“对话”。BOM提供了独立于内容而与浏览器窗口进行交互的对象:调整浏览器大小的window对象,可以用于导航的location对象与history对象,可以获取浏览器操作系统与用户屏幕信息的navigator与screen对象,可以使用document作为访问HTML文档的入口,管理框架的frames对象等。
c.由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window。
总之,BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性。BOM最初是Netscape浏览器标准的一部分,目前的BOM缺乏标准,而JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C。
6 宿主对象-DOM
W3C DOM 标准被分为 3 个不同的部分:核心 DOM - 针对任何结构化文档的标准模型、XML DOM - 针对 XML 文档的标准模型、HTML DOM - 针对 HTML 文档的标准模型。
a.通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素。当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。HTML DOM 模型被构造为对象的树。
通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML,主要在于:JavaScript 能够改变页面中的所有 HTML 元素、JavaScript 能够改变页面中的所有 HTML 属性、JavaScript 能够改变页面中的所有 CSS 样式、JavaScript 能够对页面中的所有事件做出反应。