当前位置:Gxlcms > JavaScript > javascipt基础内容--需要注意的细节

javascipt基础内容--需要注意的细节

时间:2021-07-01 10:21:17 帮助过:41人阅读

javascipt-基础---细节需要注意的地方:

1、特殊数值:NaN、Infinity、isNaN()、isFinite()

NaN:

代码如下:
var a=parseInt('a123');
window.alert(a); //输出NaN

Infinity:

代码如下:
window.alert(6/0);//输出Infinity 无穷大(最好不要这样写)

isNaN():判断是不是数,不是数返回true,是数返回false

代码如下:
var a="dd";
window.alert(isNaN(a)); //返回true

isFinite():用于判断是不是无穷大。如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。

代码如下:
window.alert(isFinite(6/1)); //返回true
window.alert(isFinite(6/0)); //返回false

2、逻辑运算符:

在逻辑运算中,0、""、false、null、undefined、NaN均表示false

(或 || )|| 将返回第一个不为false 那个值(对象亦可),或者是最后一个值(如果全部都是false的话)

这个知识点在javascript框架中运用很多。

a、

代码如下:
var a=true;
var b=false;
var c=b || a;

window.alert(c); //输出true

b、

代码如下:
var a=2;
var b=0
var c= a || b;

window.alert(c); //返回第一个值,输出2

c、

代码如下:
var a=false;
var b="";
var c =0;
var d =new Object(); //对象

var aa=a || b || c ||d ; //a,b,c 全是false 这返回d
window.alert(aa); //返回d (对象)

4、多分支 switch

代码如下:
var flag=1;

switch(flag){

default:
window.alert("啥都不是");

case 'a':
window.alert("a");

case 'b':
window.alert("b"); //没有break语句,没有匹配成功, 此时结果都输出

}

代码如下:
var flag=1;

switch(flag){

default:
window.alert("啥都不是");

case 'a':
window.alert("a");

case 1:
window.alert("b"); //没有break语句 当匹配成功则不再找break语句 此时输出b

}

5、函数调用

func.js

代码如下:
function abc(val){

window.alert("abc()"+val);
}

//有返回值的函数
function test(num1,num2){

var res=0;
res =num1+num2;

return res;
}

//没有返回值的的函数
function noVal(num1,num2){

var res=0;
res=num1+num2;
}

函数调用:

代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script type="text/javascript" src="func.js"></script>
<script type="text/javascript">

//函数调用1---普通调用(常用调用函数)
abc(50);

//函数调用2---变量=函数名; 调用的时候这样调用:变量(实际参数)
var test1=abc; //此时变量就相当于函数的引用(指针)
window.alert(abc); //输出abc整个函数代码,就能理解了
test1(500);

//如果调用的函数有返回值,可以在程序中直接返回,没有返回值但是你接收了,这是返回undefined
//调用有返回值的函数
var res=test(20,40);
window.alert(res);

//调用没有返回值的函数
window.alert("调用没有返回值的函数");
var res=noVal(1,1);
//此时输出undefined
window.alert(res);

</script>
</head>
<body></body>
</html>

js支持参数个数可变的函数

代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script type="text/javascript" src="func.js"></script>
<script type="text/javascript">

//函数调用--递归

/* function abc(num){

if(num>3){

abc(--num);
}
document.writeln(num);
}

//调用函数
abc(5); //输出 3 3 4
*/

//js支持参数个数可变的函数

function abc(){
//js中提供了一个arguments,可以访问所以传入的值
window.alert(arguments.length); //传入多少个
//遍历传入的参数
for(var i=0;i<arguments.length;i++){

window.alert(arguments[i]);
}
}

//调用
window.alert("abc(12,13,\"hello\",56)");
abc(12,13,"hello",56)

window.alert("abc(5)");
abc(5);

window.alert("abc()");
abc();
</script>
</head>
<body></body>
</html>

人气教程排行