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 相关文章推荐
js 浮动层菜单收藏
Jan 16 Javascript
纯JavaScript实现的完美渐变弹出层效果代码
Apr 02 Javascript
javascript计算用户打开网页的停留时间
Jan 09 Javascript
window.location不跳转的问题解决方法
Apr 17 Javascript
javaScript实现可缩放的显示区效果代码
Oct 26 Javascript
轻松实现javascript数据双向绑定
Nov 11 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
Nov 15 Javascript
Vue2.0用户权限控制解决方案
Nov 29 Javascript
微信小程序获取用户绑定手机号方法示例
Jul 21 Javascript
vue列表数据发生变化指令没有更新问题及解决方法
Jan 16 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
Aug 19 Javascript
Openlayers显示瓦片网格信息的方法
Sep 28 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的pcntl多进程用法实例
2015/03/19 PHP
Symfony控制层深入详解
2016/03/17 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
2017/09/30 PHP
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
2016/08/24 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
jquery replace方法去空格
2017/05/08 jQuery
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
node前端开发模板引擎Jade的入门
2018/05/11 Javascript
微信小程序canvas绘制圆角base64图片的实现
2019/08/18 Javascript
react实现同页面三级跳转路由布局
2019/09/26 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
2019/12/06 Javascript
js实现轮播图特效
2020/05/28 Javascript
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
Python使用shelve模块实现简单数据存储的方法
2015/05/20 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
2018/05/16 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
2020/02/21 Python
Django models filter筛选条件详解
2020/03/16 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
HTML5有哪些新特征
2015/12/01 HTML / CSS
Html5实现文件异步上传功能
2017/05/19 HTML / CSS
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
澳大利亚制造的蜡烛和扩散器:Glasshouse Fragrances
2018/05/20 全球购物
金蝶的一道SQL笔试题
2012/12/18 面试题
英语简历自我评价
2014/01/26 职场文书
保安部任务及岗位职责
2014/02/25 职场文书
银行客户经理岗位职责
2015/04/09 职场文书
警告通知
2015/04/25 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
关于应聘教师的自荐信
2016/01/28 职场文书
古诗文之爱国名句(77句)
2019/09/24 职场文书
javascript的setTimeout()使用方法总结
2021/11/20 Javascript
【海涛解说】暗牧也疯狂,牛蛙成配角
2022/04/01 DOTA