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+ajax请求data显示在GridView上(asp.net)
Aug 27 Javascript
jQuery获取注册信息并提示实现代码
Apr 21 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
Nov 07 Javascript
动态加载js、css等文件跨iframe实现
Feb 24 Javascript
js简单的点击返回顶部效果实现方法
Apr 10 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
Jun 13 Javascript
深入浅析JavaScript的API设计原则
Jun 14 Javascript
使用classList来实现两个按钮样式的切换方法
Jan 24 Javascript
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
May 30 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
Aug 27 Javascript
JS实现滑动拼图验证功能完整示例
Mar 29 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
解析获取优酷视频真实下载地址的PHP源代码
2013/06/26 PHP
php一些错误处理的方法与技巧总结
2013/08/10 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
2015/11/19 PHP
javascript window.opener的用法分析
2010/04/07 Javascript
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
2013/01/29 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
jQuery控制的不同方向的滑动(向左、向右滑动等)
2014/07/18 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
jquery实现的简单二级菜单效果代码
2015/09/22 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
2015/11/24 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
解析javascript瀑布流原理实现图片滚动加载
2016/03/10 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
2016/08/01 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
Vue 实时监听窗口变化 windowresize的两种方法
2018/11/06 Javascript
细说webpack6 Babel的使用详解
2019/09/26 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
2020/05/10 Javascript
解决vue bus.$emit触发第一次$on监听不到问题
2020/07/28 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
2020/11/09 Javascript
[05:10]2014DOTA2国际邀请赛 通往胜利之匙赛场探秘之旅
2014/07/18 DOTA
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
Python selenium 三种等待方式详解(必会)
2016/09/15 Python
Django实现自定义404,500页面教程
2017/03/26 Python
用TensorFlow实现多类支持向量机的示例代码
2018/04/28 Python
详解python中的装饰器
2018/07/10 Python
python 对key为时间的dict排序方法
2018/10/17 Python
使用python对excle和json互相转换的示例
2018/10/23 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
2019/08/09 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
2020/06/18 Python
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
创建青年文明号材料
2014/05/09 职场文书
助学金感谢信
2015/01/20 职场文书
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang
Python基本数据类型之字符串str
2021/07/21 Python
MySQL索引失效十种场景与优化方案
2023/05/08 MySQL