标签:
ECMAScript借鉴了C和其他类C语言的语法
ECMAScript中的一切(变量,函数和操作符)都是区分大小写的,变量test和Test是不同的变量
标识符,就是指变量,函数和属性的名字,或者函数的参数。标识符可以是按照以下格式规则组合起来的一或多个字符
(1). 第一个字符必须是一个字母,下划线或者一个美元符号
(2). 其他字符可以是字母、下划线、美元符号或数字
标识符中的字母也可以包含扩展的ASCII或者Unicode字母字符
单行注释以两个斜杠开头,如下所示
//单行注释 |
多行注释
/* * *多行注释 * */ |
要在整个脚本中启用严格模式,可以在顶部添加如下代码
“use strict” |
在函数上方包含这条编译指令,可以指定函数在严格模式下运行
“use strict” |
var sum = 1 +2 var sum = 1+2; |
虽然语句结尾的分号不是必须的,但是建议在语句结尾都不要省略
定义变量时要使用var 操作符,如下所示
var message;
这样定义的变量奖定义为该变量作用域中的局部变量;
省略var 操作符定义的变量为全局变量,但建议不要这么使用
message;
定义的变量可以用来保存任何值
message =10;
message = “hi”;
ECMAScript中有5中简单数据类型:Undefined ,Null,Boolean,Number和String。还有一种复杂数据类型Object
typeof用于检测给定变量的数据类型,对一个值使用typeof操作符可能返回下列某个字符串:
Undefined类型只有一个值,就是undefined,使用var 定义的变量未赋值就是undefined
Null类型只有一个值,就是null,用来表示一个空对象指针,通常将保存对象的变量初始化为null
true或false两种类型
Number类型用来表示数字,可以表示整数或者浮点数
l 整形
var num = 10;
var num = 070 //8进制56
var num = 089 //无效8进制,为89
var num = 0xA //十六进制的10
l 浮点数
l 数值范围
最大值Number.MAX_VALUE表示,超出最大值转化为Infinity(正无穷大)
最小值Number.MIN_VALUE表示,小于最小值转化为-Infinity(负无穷大);
可以使用isFinite()函数监控数值是否在最大和最小之间
l NaN
NaN,即非数值,表示一个该返回数值的操作未返回数值,NaN与任何数值不相等,可以使用isNaN判断是否NaN
l 数值转换
String类型用于表示由0或者多个16位Unicode字符组成的字符序列,即字符串,字符串可以由双引号(“)和单引号(‘)表示。
(1). 转义序列
转义序列 字符 \b 退格 \f 走纸换页 \n 换行 \r 回车 \t 横向跳格 (Ctrl-I) \‘ 单引号 \" 双引号 \\ 反斜杠 |
\xnn 以十六进制代码nn表示的一个字符 \unnnn 以十六进制代码nnnn表示的一个Unicode字符 |
(2). 字符串是不可变的
(3). String()函数转换
对象其实就是一组数据和功能的集合,对象可以通过执行new操作符后跟要创建的对象类型的名称来创建:
var obj = new Object();
Object的每个实例都具有下列属性和方法:
(1). constructor:保存着用于创建当前对象的函数
(2). hasOwnProperty(propertyName):用于检测给定的属性在当前对象实例中是否存在。其中,作为参数的属性名(propertyName)必须以字符串形式指定
(3). isPrototypeOf(object):用于检查传入的对象是否是传入的原型
(4). propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举
(5). toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应
(6). toString():返回对象的字符串表示
(7). valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同
(1). 递增,递减操作符 ++,--
(2). 一元加,减操作符 + ,-
(1). 按位非 ~,本质位操作符的负数-1
(2). 按位与 &
(3). 按位或 |
(4). 按位异或 ^
(5). 左移 << 原来的数字乘以 2的左移位数的阶乘 不影响符号
(6). 右移 >> 原来的数字除以 2的左移位数的阶乘 不影响符号
(7). 无符号右移 >>> 将数值的所有32位都向右移动,包括符号数
(1). 逻辑非 !
(2). 逻辑与 &&
(3). 逻辑或 ||
(1). 乘法 *
(2). 除法 /
(3). 求模 %
(1). 加法
(2). 减法
(1). 小于(<),大于(>),小于等于(<=),大于等于(>=),返回布尔值
(2). 比较规则如下:
(1). 相等和不相等 == !=
(2). 全等和不全等 === !==
variable = boolean_expression?true_value:false_value;
(1). 简单的赋值操作符由等于号(=)表示
var num =10;
(2). 复合赋值操作符
乘赋值 *=
除赋值 /=
模赋值 %=
加赋值 +=
减赋值 -=
左移赋值 <<=
有复合右移 >>=
无符号右移 >>>=
var num1=1,num2=2,num3=3;
if(condition) statement1 else statement2
do {
statement
}while(expression);
while(expression) statement;
for(initialization;expression;post-loop-expression) statement
for(property in expression) statement
break 和 continue 语句用于在循环中精确的控制代码的执行;
break语句会立即退出循环,强制执行循环后面的语句;
continue退出循环后会从循环的顶部继续执行
switch(expression):{
case value1:
statement;
break;
case value:2
statement;
break;
default:
statement;
}
with语句的作用是将代码的作用域设置到一个特定的对象中
with(expression) statement;
使用label语句可以在代码中添加标签,以便将来使用
label:statement;
(1). 声明
function functionName(arg0,arg1,arg2,…,argN){
statements
}
(2). 未指定返回值的函数返回的是一个特殊的undefined值
(3). ECMAScript中没有函数签名的概念,因为其函数参数是以一个包含0或者多个值的数组的形式传递
(4). 传递任意数量的参数,并且可以通过arguments对象来访问这些参数
(5). 由于不存在函数签名的特性,函数不能重载
标签:
原文地址:http://www.cnblogs.com/SLchuck/p/4321882.html