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";
}
浙公网安备 33010602011771号