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 相关文章推荐
JavaScript DOM学习第一章 W3C DOM简介
Feb 19 Javascript
jquery通过select列表选择框对表格数据进行过滤示例
May 07 Javascript
使用jQuery实现星级评分代码分享
Dec 09 Javascript
Javascript基础教程之函数对象和属性
Jan 18 Javascript
javascript随机显示背景图片的方法
Jun 18 Javascript
js跨域资源共享 基础篇
Jul 02 Javascript
js 点击a标签 获取a的自定义属性方法
Nov 21 Javascript
JS生成一维码(条形码)功能示例
Jan 19 Javascript
JavaScript 总结几个提高性能知识点(推荐)
Feb 20 Javascript
webstorm添加vue.js支持的方法教程
Jul 05 Javascript
vscode下vue项目中eslint的使用方法
Jan 13 Javascript
解决vue项目获取dom元素宽高总是不准确问题
Jul 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
Cakephp 执行主要流程
2010/03/24 PHP
PHP中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
利用php做服务器和web前端的界面进行交互
2016/10/31 PHP
Laravel 在views中加载公共页面的实现代码
2019/10/22 PHP
javascript &amp;&amp;和||运算法的另类使用技巧
2009/11/28 Javascript
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
js实现单行文本向上滚动效果实例代码
2013/11/28 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
nodeJS代码实现计算交社保是否合适
2015/03/09 NodeJs
JavaScript中的依赖注入详解
2015/03/18 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
2018/09/17 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
2019/02/01 Javascript
JavaScript实现横版菜单栏
2020/03/17 Javascript
javascript设计模式 ? 外观模式原理与用法实例分析
2020/04/15 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
如何利用JS将手机号中间四位变成*号
2020/09/29 Javascript
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
和孩子一起学习python之变量命名规则
2018/05/27 Python
Python使用re模块正则提取字符串中括号内的内容示例
2018/06/01 Python
Python字符串中添加、插入特定字符的方法
2019/09/10 Python
python生成13位或16位时间戳以及反向解析时间戳的实例
2020/03/03 Python
Python打印特殊符号及对应编码解析
2020/05/07 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
Django实现文章详情页面跳转代码实例
2020/09/16 Python
解析html5 canvas实现背景鼠标连线动态效果代码
2019/06/17 HTML / CSS
美国时尚女装在线:Missguided
2016/12/03 全球购物
公司应聘自荐书
2014/06/14 职场文书
环境监测与治理技术专业求职信
2014/07/06 职场文书
实验心得体会
2014/09/05 职场文书
大学文艺委员竞选稿
2015/11/19 职场文书
win11无法添加打印机怎么办? 提示windows无法打开添加打印机的解决办法
2022/04/05 数码科技