ECMAScript基本概念
1语法
区分大小写
标识符——变量、函数、属性的名字或函数的参数(驼峰大小写)
关键字——keyword
保留字
注释——单行注释(//*******) || 块级注释(/*…………*/)
严格模式——“use strict”
语句——以分号结尾
变量——松散类型
局部变量:
function test(){
var message="hi"; //局部变量
}
test();
alert(message); //error
全局变量:
function test(){
message="hi"; //全局变量
}
test();
alert(message); //hi
定义多个变量:
var message="hi",
found=false,
age=29;
2数据类型
基本数据类型
1 Undefined类型
2 Null类型——null值表示一个空对象指针
3 Boolean类型——布尔值:true/false || 转型函数Boolean()
4 Number类型——整型与浮点类型
NaN——用于表示一个本来要返回数值的认为操作数未返回数值的情况
检测函数——isNaN()
数值转换函数——Number()、parseInt()、parseFloat()
5 String类型
字符串转换方法——toString()
字符串转换函数——String()
特点——ECMAScript中的字符串是不可变的
var lang="Java";
lang=lang+"Script";
复杂数据类型
Object类型——一组数据和功能的集合
创建对象
var o=new Object();
属性——constructor(构造函数,用于创建当前对象的函数)
方法
检查给定的属性在当前对象实例中是否存在——hasOwnProperty()
检查给定的属性是否能够使用for-in枚举——propertyIsEnumberable()
检查传入的对象是否是当前对象的原型——isPrototypeOf()
返回对象的字符串表示——toLocalString()、toString()
返回对象的字符串、数值或布尔值表示——valueOf()
3操作符
一元操作符——只能操作一个值的操作符
递增、递减操作符
一元加、减操作符
位操作符
按位非、按位与、按位或、按位异或
左移、有符号的右移、无符号的右移
布尔操作符——逻辑非、逻辑与、逻辑或
乘性操作符——乘法、除法、求模
加性操作符——加法、减法
关系操作符——大于、小于、大于等于、小于等于
相等操作符——相等与不相等、全等不全等
条件操作符——var max=(num1>num2)?num1:num2;
赋值操作符——简单赋值(=)、复合赋值(+=)
逗号操作符——用来在一第语句中执行多个操作
4语句
流控制语句:
--if语句
if(i>25){
alert("greater than 25");
}else if(i<0){
alert(less than 0);
}else{
alert("between 0 and 25, inclusive");
}
-- do-while语句
var i=0;
do{
i+=2;
}while(i<10);
alert(i);
-- while语句
var i=0;
while(i<10){
i+=2;
}
-- for语句
var count=10;
var i;
for(i=0;i<count;i++){
alert(i);
}
--for-in语句(精准的迭代语句,可以用来枚举对象的属性)
for(var propName in window){
document.write(propName);
}
--label语句(添加标签)
start:for(var i=0;i<count;i++){
alert(i);
}
--break语句(立即退出循环,强制执行循环后面的语句)
--continue语句(立即退出循环,退出循环后从循环的顶部继续执行)
--with语句(将代码的作用域设置到一个特定的对象中)
with(location){
var qs=search.substring(1);
var hostName=hoseName;
var url=href;
}
--switch语句
switch(i){
case 25:
alert("25");
break;
case 35:
alert("35");
break;
case 45:
alert("45");
break;
default:
alert("other");
}
5函数
函数声明
function sayHi(name,message){
alert("hello"+name+","+message);
}
--return语句(函数执行完return语句之后停止并立即退出)
函数参数——参数在内部是用一个数组来表示的,可以通过arguments对象来访问这个参数数组
没有重载
变量、作用域和内存