javascript数据类型、函数传参
- javascript语言核心:ECMAScript
- 定义js的语法:基本对象、数据类型
- js的数据类型
- typeof运算符 判断数据类型
- 字符串、数字、布尔、函数、对象(obj、[]、{}、null)、未定义(undefined)、数组、null...
- 数据类型使用原则:一个变量只存放一种类型数据
- typeof运算符 判断数据类型
- 数据类型转换
- 数据类型转换
- Number、parseInt、parseFloat
<script type="text/javascript"> var a1=''; var a2=' '; var a3=[]; var a4=null; var a5=[1]; var a6=[1,2,3]; var json={json}; var a7=Number(json); var a8=function(){alert(1)} var a9; console.log(Number(a1));//0 console.log(Number(a2));//0 console.log(Number(a3));//0 console.log(Number(a4));//0 console.log(Number(a5));//1 console.log(Number(a6));//NaN console.log(a7);//NaN console.log(Number(a8));//NaN console.log(Number(a9));//NaN </script>
-
<script type="text/javascript"> var a1='+200px'; var a2='-200px'; var a3='200px12345'; var a4='000000200px12345'; console.log(parseInt(a1));//200 console.log(parseInt(a2));//-200 console.log(parseInt(a3));//200 console.log(parseInt(a4));//200 </script>
- 实例:两个输入框相加
- 实例:判断输入值是否为小数
- Number、parseInt、parseFloat
- 隐式类型转换
- + = * / % < > == ! ++ --
- 数据类型转换
- 数据类型转换不成功
- 数字类型:NaN详解
- not a number不是个数字的数字类型
- 一旦写程序中出现NaN,肯定进行了非法的运算操作
- 特点:
- 非数字的数字类型
- false
- NaN!=NaN
- 数字类型:NaN详解
- 检测数字的方法:isNaN
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> window.onload=function(){ var aLnp=document.getElementsByTagName('input'); var str=''; aLnp[1].onclick=function(){ str=aLnp[0].value; //Html中拿到的内容,类型都是字符串 //alert(typeof str); if(isNaN(str)){ alert(str+'不是数字'); }else{ alert(str+'是数字'); } } } </script> </head> <body> <input type="text" /> <input type="button" value="判断输入值是不是数字"/> </body> </html>
- 例子说明
-
var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);}, null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90]; /* 1、找到arr里所有的数字:-98765, 34, -2, 0, 5 2、找到可以转成数字的:'100px', -98765, 34, -2, 0, '300', '23.45元', 5 3、把转成数字以后,最大值判断出来:300 4、把 NaN 所在的位置找出来:1 14 17 19 */
- 答案1
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script src="http://www.jq22.com/jquery/jquery-1.9.1.js"></script> <script> var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);},null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90]; var numArr=[]; $(function(){ for(var i=0;i<arr.length;i++){ if(typeof arr[i]==='number' && !isNaN(arr[i])){ numArr.push(arr[i]); } } console.log(numArr);//[-98765, 34, -2, 0, 5] }); </script> </head> <body> </body> </html>
- 答案2
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script src="http://www.jq22.com/jquery/jquery-1.9.1.js"></script> <script> var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);},null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90]; var numArr=[]; $(function(){ for(var i=0;i<arr.length;i++){ if('number' && parseFloat(arr[i])){ numArr.push(arr[i]); } } console.log(numArr);//["100px", -98765, 34, -2, "300", "23.45元", 5] });
/* parseFloat(0) ----> 0 但是结果里面0没有输出来 不知道原因 知道的可以告诉我一下*/</script> </head> <body> </body> </html>
- 答案3
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script src="http://www.jq22.com/jquery/jquery-1.9.1.js"></script> <script> var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);},null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90]; var numArr=[]; $(function(){ var index=0; for(var i=0;i<arr.length;i++){ if(arr[index] < arr[i]){ index = i; if(!isNaN(arr[i])){ numArr += 'number' && parseFloat(arr[i]); } } } console.log(numArr);//300 }); </script> </head> <body> </body> </html>
- 答案4
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script src="http://www.jq22.com/jquery/jquery-1.9.1.js"></script> <script> var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);},null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90]; var numArr=[]; $(function(){ for(var i in arr){ if(typeof arr[i] === 'number' && isNaN(arr[i])){ numArr += i+ '、'; } } console.log(numArr);//1、14、17、19、 }); </script> </head> <body> </body> </html>
-