11条javascript知识

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.函数没有重载。如果定义两个名字相同的函数,该名字属于后定义的函数。

http://www.cnblogs.com/roucheng/

你可能感兴趣的:(JavaScript)