一语法
(1)ECMAScript中的一切都区分大小写。
(2)标识符,即变量,函数,属性名等的组合规则。第一个字符必须是字母,下划线或$,其他字符可以包含数字。标识符一般采用驼峰大小写的格式。
(3)注释。
单行注释://
块级注释:/* 这是一个
块级注释
*/
(4)语句。ECMAScript以一个分号结尾,但可以省略(有解析器确定语句结尾, 不 建议省略) 。
(5)关键字与保留字, 不能用作标识符。
(6) 变量EAMAScript中变量是松散类型,既可以保存任何类型数据。
定义变量使用var操作符,如 var m; var n=”hi”;
未初始的变量的值为undefined ,m = undefined 。
使var操作符定义的变量是该作用域中的局部变量,省略var定义的变量会变为全局变量。如: message = 5; message是全局变量。
二数据类型
ECMAScript有五种基本的数据类型(Number,String,Null,Undefined,Boolean)及一种复杂的数据类型 (Object,引用类型,可以动态的添加属性和方法),Object本质是无序的名值对。
(1)Undefined类型
只有一个值,undefined,使用var声明变量但未初使化时的值。
var m;
alert(m == undefined); //true
(2)Null类型
也只有一个特殊值,null。表示一个空对象指针。
alert(null == undefined); //true
alert(null === undefined) //false
undefined派生自null。
(3)Boolean类型
Boolean类型只有两个值:true与false。
可以使用转型函数Boolean( )将其他类型转换为Boolean,规则如下。
数据类型 转换为true的值 转换为false的值
String 任何非空字附串 空字符串
Undefined 无 undefined
Number 任何非零数值 0和NaN(非数值)
Object 任何非null对象 null
(4)Number类型
十进制: var intNum = 55;
八进制: var intNum = 07; //十进制56,八进制在严格模式下无效。零开头。
var intNum = 078 //无效的八进制,解析为78
十六进制: var intNum = 0xA; //十进制的10
数值转换函数:Number( ),将任何数据转换为数值。parseInt( ),将字符串转换为整数。parseFloat( )将字符串转换为浮点数。
(5)String类型
String类型由零或多个16为Unicode字符组成的字符序列,由双引号或单引号表示。
var firstName= “liu”;
var lastName= ‘li’;
String类型包含一些特殊的字符字面量,也叫转义序列,用于表示打印字符或其他用途的字符。例如,\n表示换行。
其他类型转换为字符串:toString( )方法,除了null和undefined其他类型都有这个方法。
数值的toString( )方法可接受一个参数,表示输出的进制。
var num = 10;
alert(num.toString()); //"10"
alert(num.toString(2)); //"1010"
alert(num.toString(16)); //"a"
在不知道数据类型的情况下可以使用string( )函数。其规则如下:如果值有toString( )方法则调用该方法(无参数),null与undefined分别返回”null”,”undefined”。
(6)Object类型
var o = new Object(); //创建对象。
o.name=”liuli”;
对象的通用方法与属性:
- constructor:保存创建对象的函数。 alert(o.constructor); // function Object() { [native code] }
- hasOwnProperty(“propertyName”): 检查属性是否在实列中,而不是在原型中。alert(o. hasOwnProperty (“name”)); //true
- isPrototypeof(Object): 检查传入的对象是否是当前实列的原型。
- propertyIsEnumerable: 检查给定的属性是否能用for-in遍历。
- toLocalString(): 返回对象的字符串表示,与执行环境地区对应。
- toString(): 返回对象字符串。
- valueOf(): 返回对象的值。