JavaScript以ECMAScript标准作为功能基准,ECMAScript有5种原型类型:Undefined,Null,Boolean,Number和String。
可以用typeof来判断类型,例:
var sTemp = "test string";
alert(typeof sTemp);
alert(typeof 95);
返回下列值:
"undefined",如果变量是Undefined类型
"boolean",如果是Boolean类型
"number",如果是Number类型
"string",如果是String类型
"object",如果是一种引用类型或Null类型。null被认为是对象的占位符。
undefined类型:
当声明变量未初始化时,变量的默认值是undefined。undefined不同于未定义,但typeof不区分,例:
......
用于枚举对象的属性
例:
for(sProp in window)
{
alert(sProp); //显示BOM window对象的所有属性。
}
propertyIsEnumerable()是ECMAScript中专门用于说明属性是否可以用for-in语句访问的方法。
......
ECMAScript中,switch语句可以用于字符串,而且能用不是常量的值说明情况:
var BLUE="blue" , RED = "red" , GREEN = "green";
switch(sColor)
{
case BLUE: alert("Blue"); break;
case RED : alert("Red"); break;
case GREEN: alert("Green"); break;
default: alert("Other");
}
......
with语句
用于设置代码特定对象的作用域。
例:
var sMessage = "hello world";
with(sMessage)
{
alert(toUpperCase()); //输出 "HELLO WORLD"
}
with语句是运行缓慢的代码段,尤其是在已设置了属性值时。大多数情况下,尽量避免使用它。
......
label:statement
例:
start:var iCount = 10;
标签可以被后来的break语句或continue语句引用。
例:
var iNum=0;
outermost:
for(var i=0;i<10;i++)
{
for(var j=0;j<10;j++)
{
if(i==5 && j==5)
{
break outermost; //当i = 5 j=5时,跳出outermost,即,跳出整个循环,而不只是跳出内部循环。
&nb ......
函数
即使函数确实有返回值,也不必明确地声明它。该函数只需要使用return运算符后跟要返回的值即可。
例:
function sum(iNum1, iNum2)
{
return iNum1 + iNum2;
}
如果函数无明确的返回值,或调用了没有参数的return语句,那么它真正返回值是undefined。
无重载:
ECMAScript的函数不能重载。可以在同一个作用域,声明同名函数,但会发生覆盖,真正使用的是后一个函数。
arguments对象:
ECMAScript不会验证传递给函数的参数个数是否等于函数定义的参数个数。开发者定义的函数都可以接受任意个数的参数。
任何遗漏的参数都会以undefined传递给函数,多余的参数将忽略。
arguments对象可以用arguments.length检测传递给函数的参数个数。
& ......