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

(编辑:jimmy 日期: 2025/10/28 浏览:2)

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="/UploadFiles/2021-04-02/func.js"><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="/UploadFiles/2021-04-02/func.js"><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>

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?