javascript(1)

1、判断为NaN可以用

If(isNaN(x))

{

执行;
}

2、== 与===的区别:用==比较时,会自动转换变量类型如 var a=5 var b=”5” 如用 a==b则返回为true,如果用a===b则不会类型转换,返回false

3、Javascript为弱类型,所以若要进行数字拼接时,为避免数字相加,可先进行格式转换

如:var a=50 var b=20 var c=””+a+c

4、parseInt(string,index)第二个参数可选,是代表转换成几进制

parseInt(“123abc”)结果是123,如果无法转换,则会返回NaN用ISNaN判断

5、应避免全局变量的使用,如果出现 result=5+6 那么result会默认为全局变量。所以需要用var result=5+6

 var a = b = 0;如果出现这种情况,那么b会默认为全局变量,因为赋值时从右至左的,也可以看成var a =( b = 0);

全局变量的使用:

myglobal = "hello"; 
console.log(myglobal); 
console.log(window.myglobal);
console.log(window["myglobal"]);
console.log(this.myglobal);

6、在删除全局变量时,用var a=5 和 b=6时的不同

delete a //不可以

delete b//可以

7、输出时第一个alert输出的undefi,是因为在func函数中,尽管myname是后声明的,它还是被当做了局部变量。

在声明函数时,一定要注意函数声明和函数表达式的区别,函数声明时,无论声明在程序中的任何地方,都会先进行声明

myname = "global"; // 全局变量 
function func() {
alert(myname); // "undefined"
var myname = "local";
alert(myname); // "local"

8、使用for循环时

for(var i=0;i<marry.lenth;i++)

这种形式的不足在于每次循环时,都需要获取数组的长度,这会降低效率,而如果不是数组,是一些页面上的对象的话,那就变得很废效率了,如:document.getElementByName("")取得的对象。

所以用这种形式比较好:

function loop()

{

var i=0,x,marry=[];

for(i=0,x=marry.lenth;i<x;i++)

//执行

9、使用for-in循环和hasownproperty()方法过滤对象中的某方法属性。

var man={

hands=2,

lets=2,

heads=1

//然后添加clone函数

Object.property.clone=function()
{};

};

在循环输出时:

for(var a in man)

{

if(man.hasproperty(i)      //过滤
{

  console.log(i,":",man[i]);
}

}

输出结果

hands:2

legs:2

heads:1

如果不用的话

for(var a in man)

{

  console.log(i,":",man[i]);

}

则输出结果:

hands:2

leg:2

heads:1

clone:function()

10、在使用{}格式控制时,当碰到return时要注意{花括号的位置,当

return

{

  name:"yu"
}

这样写程序就会停止,和

return undifend;

{

  name:"yu"

}

没有差别,因为在javascript中会默认添加;

所以在返回值时,要将{写在一行

return{

  name:"yu";

}

posted @ 2014-06-05 13:36  8932809  阅读(276)  评论(0)    收藏  举报