BOM
BOM 是“ Browser Object Model ”的缩写,简称“ 浏览器对象模型 ”。
BOM 定义了 JavaScript 操作浏览器的接口,提供了访问某些功能(如浏览器窗口大小、版本信息、浏览历史记录等)的途径以及操作方法。
遗憾的是,BOM 只是 ECMAScript 的一个扩展,没有任何相关标准,W3C也没有对该部分作出规范,每个浏览器厂商都有自己的 BOM 实现,这可以说是 BOM 的软肋所在。
通常情况下,浏览器特定的(即非 W3C 标准规定的)JavaScript 扩展都被看作 BOM 的一部分,主要包括:
- 关闭、移动浏览器及调整浏览器窗口大小;
- 弹出新的浏览器窗口;
- 提供浏览器详细信息的定位对象;
- 提供载入到浏览器窗口的文档详细信息的定位对象;
- 提供用户屏幕分辨率详细信息的屏幕对象;
- 提供对cookie的支持;
- 加入ActiveXObject类扩展BOM,通过JavaScript实例化ActiveX对象。
注意:BOM 有一些“事实上的标准”,如操作浏览器窗口、获取浏览器版本信息等,在不同浏览器中,对它们的实现方法是一样的。
JavaScript 支持单行注释和多行注释:单行注释以 // 开头;多行注释以 /* 开始,以 */ 结尾。 JavaScript不支持多行嵌套注释。
JavaScript 是弱类型的语言,声明变量时无需声明数据类型,JavaScript 会根据变量内容自动判断数据类型。这就意味着,JavaScript 拥有动态类型,同一个变量可以赋予不同类型的值。这在C语言、C++和Java等强类型语言中是无法办到的。JavaScript 变量命名规范:变量必需以 字母、$ 和 _ 开头,不能以数字和其他字符开头。区分大小写
在JavaScript中,未赋值变量有一个默认值,是 undefined ,即” 未定义 “。在JavaScript中,引用一个未赋值的变量,其值为 undefined ,引用一个未声明的变量将会引发错误。
Number | 数字类型 |
String | 字符串类型 |
Boolean | 布尔类型 |
Undefined | 表示一个变量未被赋值 |
Null | 空的对象 |
Number 类型还有一个特殊值 NaN(非数值 Not a Number)。用于表示一个本来要返回数值的操作并未返回数值。
如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为 null 而不是其他值。
常见的运算符有算数运算符、比较运算符和逻辑运算符。“+”号不但可以将两个数据相加,还可以用来连接字符串。当字符串和数值进行混合运算时,JavaScript 会自动判断“ + ”号的作用,是相加运算,还是连接字符串。如果是连接字符串,数值也将被转换为字符串。
使用关键词 new 来创建数组对象
var myArray=new Array(); myArray[0] = " zhangming "; myArray[1] = " zhaowei "; myArray[2] = " wanghua ";
var myArray=new Array(" zhangming " , " zhaowei " , " wanghua ");
使用 [ ] 直接创建数组
var myArray=[]; myArray[0] = " zhangming "; myArray[1] = " zhaowei "; myArray[2] = " wanghua ";
var myArray=[ " zhangming " , " zhaowei " , " wanghua " ];
在JavaScript中,通过 length 来获得数组、字符串的长度。
四舍五入round()
向下取整(下舍入)floor()
向上取整(上舍入)ceil()
通过 Math 对象的 random() 方法可以返回一个介于 0 ~ 1 之间的随机数。
if( ){ } else if( ){ }相当于if( ){ }else{ if( ){ } }
三目运算符
语法:
conditions ? statementA : statementB ;
上述语句,首先判断条件condition,若结果为真则执行语句statementA,否则执行语句statementB。
值得注意的是,由于 JavaScript 脚本解释器将分号“ ; ”作为语句的结束符,statementA 和 statementB 语句均必须为单个语句,使用多个语句会报错。
在JavaScript中,使用 break 和 continue 语句跳出循环:
- break语句的作用是立即跳出循环,即不再执行后面的所有循环;
- continue语句的作用是停止正在执行的循环,直接进入下一次循环。