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


Posted in Javascript onApril 10, 2013

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>
Javascript 相关文章推荐
JQuery中getJSON的使用方法
Dec 13 Javascript
关于COOKIE个数与大小的问题
Jan 17 Javascript
js读写(删除)Cookie实例详解
Apr 17 Javascript
js选择并转移导航菜单示例代码
Aug 19 Javascript
JavaScript插件化开发教程 (二)
Jan 27 Javascript
JS弹出可拖拽可关闭的div层完整实例
Feb 13 Javascript
js实现简单折叠、展开菜单的方法
Aug 28 Javascript
jQuery实现的跨容器无缝拖动效果代码
Jun 21 Javascript
JS定时器用法分析【时钟与菜单中的应用】
Dec 21 Javascript
VueJs路由跳转——vue-router的使用详解
Jan 10 Javascript
基于pako.js实现gzip的压缩和解压功能示例
Jun 13 Javascript
基于vue实现可搜索下拉框定制组件
Mar 26 Javascript
使用javascipt---实现二分查找法
Apr 10 #Javascript
页面使用密码保护代码
Apr 10 #Javascript
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
Apr 10 #Javascript
提示$ is not defined错误分析及解决
Apr 09 #Javascript
js 有框架页面跳转(target)三种情况下的应用
Apr 09 #Javascript
关于textarea提交的内容无法换行的解决办法
Apr 09 #Javascript
关于JQuery($.load)事件的用法和分析
Apr 09 #Javascript
You might like
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
Javascript 日期处理之时区问题
2009/10/08 Javascript
JavaScript常用全局属性与方法记录积累
2013/07/03 Javascript
js快速排序的实现代码
2013/12/08 Javascript
通过url查找a元素并点击
2014/04/09 Javascript
jQuery简易图片放大特效示例代码
2014/06/09 Javascript
jquery实现用户打分评分特效
2015/05/28 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
2016/04/03 Javascript
阻止表单提交按钮多次提交的完美解决方法
2016/05/16 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
2016/07/04 Javascript
js实现音频控制进度条功能
2017/04/01 Javascript
使用ES6语法重构React代码详解
2017/05/09 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
2018/01/11 Javascript
spirngmvc js传递复杂json参数到controller的实例
2018/03/29 Javascript
vue draggable resizable 实现可拖拽缩放的组件功能
2019/07/15 Javascript
微信小程序使用蓝牙小插件
2019/09/23 Javascript
jQuery+ajax实现文件上传功能
2020/12/22 jQuery
[09:43]DOTA2每周TOP10 精彩击杀集锦vol.5
2014/06/25 DOTA
Python中正则表达式的详细教程
2015/04/30 Python
Python中shape计算矩阵的方法示例
2017/04/21 Python
pyqt5的QWebEngineView 使用模板的方法
2018/08/18 Python
jupyter notebook 中输出pyecharts图实例
2020/04/23 Python
简单了解python中的f.b.u.r函数
2019/11/02 Python
python科学计算之scipy——optimize用法
2019/11/25 Python
PyInstaller的安装和使用的详细步骤
2020/06/02 Python
python3实现将json对象存入Redis以及数据的导入导出
2020/07/16 Python
使用HTML5捕捉音频与视频信息概述及实例
2018/08/22 HTML / CSS
HTML5中的nav标签学习笔记
2016/06/24 HTML / CSS
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
META-INF文件夹中的MANIFEST.MF的作用
2016/06/21 面试题
博士生入学考试推荐信
2013/11/17 职场文书
应届毕业生自荐信例文
2014/02/26 职场文书
学期评语大全
2014/04/30 职场文书
《伯牙绝弦》教学反思
2016/02/16 职场文书
巾帼建功标兵先进事迹材料
2016/02/29 职场文书
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang