1.局部变量和全局变量
var操作符定义的变量将成为定义该变量作用域中的局部变量。这个局部变量会在函数退出后销毁。不同于其他语言,javaScript不存在块级作用域。
全局变量就是window对象的属性,所有未定义的变量和在最外层(非函数体内)的变量都拥有全部作用域。如非必要,尽量避免在函数体内使用全局变量。
function test(){ for(var i=0;i<10;i++) {
var sum=i;
}
alert(sum);//javaScript作用域是函数决定的。提示为10
j=1;//未明确定义的变量是全局变量
alert(j==window.j)//全局变量是window的属性,提示true
}
2.typeof 是操作符
3.parseInt() 转换字符串为数字。
paseFloat()不能识别16进制,0xf会返回0
var sum1=parseInt("1234blue");//
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.函数没有重载。如果定义两个名字相同的函数,该名字属于后定义的函数。