jscript基础

一,概述

JScript是MS对ECMA262语言规范(ECMAScript Edition 3)的一种实现。是一种解释型的、基于对象的脚本语言。

二,基本语法规则

1,语句之间用分号“;”隔开。单行的 JScript 注释以一对正斜杠(//)开始。多行注释以/*开始并以*/结束(建议写成多行的单行注释)。

2,数据类型

主要(基本)数据类型是:

字符串

数值:JScript 内部将整数和浮点值等都表示为浮点值。

布尔:0、null、未定义或空字符串被解释为false,其他为true

复合(引用)数据类型是:

对象

数组

特殊数据类型是:

Null:为了向下兼容,typeof运算符将报告null值为Object类型,而非类型 null,切勿混淆。

Undefined:对象属性不存在或声明了变量但从未赋值。不能通过与 undefined 做比较来测试一个变量是否存在,虽然可以检查它的类型是否为“undefined”。

3,变量:不能使用未经过声明的变量。

显式声明变量:Var语句

隐式声明变量:尽管并不安全,但声明语句中忽略var将声明一个全局变量。过程级变量必须用var声明。

如果在var语句中没有初始化变量,变量自动取JScript值undefined。

当要声明一个变量并进行初始化,但又不想指定任何特殊值,可以赋值为 null。null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值 NaN(非数字)。对 null 值和 undefined 值作比较总是相等的。

变量赋值:变量 = 要赋的值

变量类型强制转换:JScript 是一种自由类型的语言。它的变量没有预定类型,其类型相应于他们包含的值的类型。表达式中如有两个不同的数据类型,JScript解释器自动强制转换数据类型(字符串⇐数值⇐布尔值)。另外,比较大小时字符串自动转换为相等的数字,但加法(连接)运算时保留为字符串。

显式转换:将字符串转换为整数 parseInt 方法。将字符串转换为数字 parseFloat 方法。

4,运算符:

算术运算符 负值 - 递增 ++ 递减 — 乘法 * 除法 / 取模运算 % 加法 + 减法 - 逻辑运算符 逻辑非 ! 小于 < 大于 > 小于等于 <= 大于等于 >= 等于 ==(对象按引用比较) 不等于 != 逻辑与 && 逻辑或 || 条件(三元运算符) ?: 逗号 , 严格相等 ===(不强制转换不同类型) 非严格相等 !== 位运算符:按位取反 ~ 按位左移 << 按位右移 >> 无符号右移 >>> 按位与 & 按位异或 ^ 按位或 | 赋值运算符:赋值 = 运算赋值 OP= 杂项运算符:delete typeof void instanceof new in

5,运算符优先级别:

. [] () 字段访问、数组下标、函数调用以及表达式分组 ++ — - ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值 * / % 乘法、除法、取模 + - + 加法、减法、字符串连接 << >> >>> 移位 < <= > >= instanceof 小于、小于等于、大于、大于等于、instanceof ===== != === !== 等于、不等于、严格相等、非严格相等 & 按位与 ^ 按位异或 | 按位或 && 逻辑与 || 逻辑或 ?: 条件 = oP= 赋值、运算赋值 , 多重求值

6,控制结构语句:

A 条件语句:

 if (…)

 {…}

 else

 {…}

B 三元运算符:(…) ? … : …

C 多路选择结构(switch)。

D 循环语句:开头/末尾测试表达式(while)/(do/while)

E break 和 continue 语句

F 对对象(数组)的每个属性(成员)都进行操作(for/in)

for (prop in myObject) {    // 显示 "The property 'name' is James",等等。    window.alert("The property '" + prop + "' is " +   myObject[prop]); }

G 由计数器控制的循环(for)。

var howFar = 10 for(var icount = 0; icount < howFar; icount++) { ... }

使用称为“短路计算”的特性来加速脚本判断速度。写 OR 表达式时,先写最有可能为 true 的条件。写 AND 表达式时,先写最有可能为 false 的条件。

7,函数:

内部函数:

自建函数:

8,对象:

内部对象:Array、Boolean、Date、Function、Global、Math、Number、Object、RegExp、Error 以及 String

生成的对象:

宿主给出的对象(如 Internet 浏览器中的 window 和 document)

ActiveX 对象(外部组件)。