语法:
1.区分大小写
2..标识符命名规则:
1) 起始位必须为字母,下划线或$符
2)其他字符可以为字母, 下划线, $符或数字
3)采用驼峰格式命名
3.注释
1) 单行注释 //
2)块级注释
/*
*
*/
4.严格模式
function{
"use strict"; //启用严格模式
//函数体
}
5.语句
常规语句:
var sum = a + b; //有效语句,分号结尾
代码块:
if(condition){
alert();
}
变量:
ECMAScript变量是松散类型的(每个变量仅作为占位符)
变量声明: var varName;
变量声明赋值: var varName = "15";
关于var:
如果在函数中使用var定义变量,该变量在函数外不可用
如果在函数中不使用var定于变量,该变量为全局变量(该函数需要提前被调用,
测试后结论)
数据类型:
5种基本数据类型
1.Undefined(该值派生于null,与null相等性测试返回true)
2.Null
3.Boolean
类型转换中对应false的值:
1.false
2."" 空字符串
3.0 和 NaN
4.null
5.undifined
其余值对应true
4.Number
关于进制:
1.八进制:
var a = 056; //八进制46
如果定义的八进制值为无效,会被解析为十进制
var a = 08; //十进制8
2.十六进制
var b = 0x1f;//十六进制
关于浮点数
不要测试某个特定的浮点数值
数值范围
Number.MIN_VALUE
Number.MAX_VALUE
关于NaN(not a number)
本来要返回数值的操作数未返回数值(不抛出异常)
数值转换:
1.布尔值 ==> 数值: true=1, false=0;
2.数字 ==> 数字 : 简单的传入
3.null ==> 0
4.undifined ==> NaN
5.仅包含数字的字符串 : 转换为相应十进制的数字
6.仅包含有效的十六进制, 转换为十六进制对应的十进制的值
7.空字符串 : 0
8.非空且非数字 : NaN
5.String
1种复杂数据类型
Object(本质是由一组无序的名值对组成)
typeof操作符
可返回值
1.undefined : 未定义
2.boolean : 布尔值
3.string : 字符串
4.number : 数值
5.object : 是对象或null
6.function : 函数
语句:
1.if语句:
if(condition){
statements1;
}else{
statements2;
}
2.do-while语句:(statements1 至少执行一次)
do{
statements1;
}while(condition);
3.while语句:
while(condition){
statements
}
4.for语句
for(initialization; expression; post-loop-expression){
statements1
}
5.for-in(迭代语句)
for (property in expression){
statements;
}
6.label语句(不想看)
7.with语句(不想看)
8.break continue(so easy)
9.switch语句
switch(expression){
case value1:statement1
break;
case value2:statement2
break;
case value2:statement2
break;
default : statement;
}
函数:
function functionName(argument...){
statement;
}
对于函数不论在声明中声明参数个数为多少(0-N),调用其时都可以传入任意多个
参数(0-N),函数没有重载.
在函数内部可以通过arguments.length获得参数个数,并可以借此在参数个数不
同时调用不同的方法(可以理解为完成一定程度的方法重载)
function add() {
alert(arguments.length);
if(arguments.length == 0)
alert(100);
if(arguments.length == 1)
alert(arguments[0] + 10);
if(arguments.length > 1){
var str = 0;
for(var i = 0; i < arguments.length; i ++){
str += parseInt(arguments[i]);
}
alert(str);
}
}
add(); //100
add(1); //2
add(1,2,3,4); //10