1.局部变量和全局变量
var操作符定义的变量将成为定义该变量作用域中的局部变量。这个局部变量会在函数退出后销毁。不同于其他语言,javaScript不存在块级作用域。
全局变量就是window对象的属性,所有未定义的变量和在最外层(非函数体内)的变量都拥有全部作用域。如非必要,尽量避免在函数体内使用全局变量。
1 function test(){ 2 3 for(var i=0;i<10;i++) { 4 var sum=i; 5 } 6 alert(sum);//javaScript作用域是函数决定的。提示为10 7 j=1;//未明确定义的变量是全局变量 8 alert(j==window.j)//全局变量是window的属性,提示true 9 }
2.typeof 是操作符
3.parseInt() 转换字符串为数字。
paseFloat()不能识别16进制,0xf会返回0
var sum1=parseInt("1234blue");//1234 var sum2=parseInt("0xf");//parseInt可以识别16进制,15 var sum2=parseInt("f",16);//最好用第二个参数声明16进制 var sum3=parseInt("true");//NaN
4.toString()指定基数的用法
var num=10; num.toString();//'10' num.toString(2);//'1010' num.toString(8);//'12' num.toString(16);//'a'
5.Object 类型
Object类型都具备下列方法
a.Constructor:保存用于创建当前对象的函数。
b.hasOwnProperty(propertyName):检查给定属性在当前对象实例中(而不是在实例原型中)是否存在。
例:o.hasOwnProperty(‘name’);
c. isPrototypeOf(object):检查传入对象是否是另一对象原型。
d. propertyIsEnumerable(propertyName):检查给定属性能否使用for-in语句枚举。
e . toLocaleString():返回对象字符串表示
f .toString():返回对象字符串表示
g.valueOf():返回对象字符串,数值或布尔值表示。
6.布尔操作符
逻辑与(&&)和逻辑非(||)可以作用于任何数据类型,不仅仅是布尔值。它们是短路操作符。
7.尽量使用全等(===)或不全等(!===)操作符
8. for in 枚举对象属性
for(var property in expression) statement;
9.label:statement
例子:
start:
for(var i=0;i<10;i++){}
10.with语句(不建议使用)
将代码作用域设置到一个特定对象中
with(expression)statement;
var qs=location.search.subString(1); var hostName=location.hostname; var url=location.href; //等同 with(location) { var qs=search.subString(1); var hostName=hostname; var url=href; }
11.switch使用全等操作符,不会发生类型转换
12.函数通过数组接受参数。可通过arguments来访问。
命名的参数只提供便利,而不是必须的。解析器不会验证命名参数。
13.函数没有重载。如果定义两个名字相同的函数,该名字属于后定义的函数。