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

所属分类: 网络编程 / JavaScript 阅读数: 1955
收藏 0 赞 0 分享

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>

更多精彩内容其他人还在看

jQuery LigerUI 使用教程表格篇(1)

ligerGrid是ligerui系列插件的核心控件,用户可以快速地创建一个美观,而且功能强大的表格,支持排序、分页、多表头、固定列等等
收藏 0 赞 0 分享

JavaScript中常用的运算符小结

JavaScript中常用的运算符小结,需要的朋友可以参考下。
收藏 0 赞 0 分享

深入理解JavaScript系列(13) This? Yes,this!

在这篇文章里,我们将讨论跟执行上下文直接相关的更多细节。讨论的主题就是this关键字。实践证明,这个主题很难,在不同执行上下文中this的确定经常会发生问题
收藏 0 赞 0 分享

javascript (用setTimeout而非setInterval)

javascript (用setTimeout而非setInterval)如果用setInterval 可能出现 下次调用会在前一次调用前调用
收藏 0 赞 0 分享

JavaScript中两个感叹号的作用说明

用两个感叹号的作用就在于,如果明确设置了o中flag的值(非null/undefined/0""/等值),自然test就会取跟o.flag一样的值;如果没有设置,test就会默认为false,而不是null或undefined
收藏 0 赞 0 分享

javascript写的简单的计算器,内容很多,方法实用,推荐

最近用javascript写了一个简单的计算器,自己测试感觉还好,代码都给了注释,非常不错,推荐大家学习。
收藏 0 赞 0 分享

js的表单操作 简单计算器

javascript写的简单的加减乘除计算器,里面涉及到一些方法还是很实用的哦,新手不要错过
收藏 0 赞 0 分享

Jquery中删除元素的实现代码

empty用来删除指定元素的子元素,remove用来删除元素,或者设定细化条件执行删除
收藏 0 赞 0 分享

javaScript 利用闭包模拟对象的私有属性

JavaScript缺少块级作用域,没有private修饰符,但它具有函数作用域。作用域的好处是内部函数可以访问它们的外部函数的参数和变量(除了this和argument
收藏 0 赞 0 分享

为JavaScript类型增加方法的实现代码(增加功能)

大家在js开发过程中有些功能已经满足不了我们的需求,或没有我们需要的功能,那么我们就可以自己扩展下,个性化js
收藏 0 赞 0 分享
查看更多