<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script> /* ECMAScript,标准、核心 :必须写var ,if后面跟小括号不是大括号,规定数据类型, HTML 标签类型:block、inline、inline-block、table…… JS中的数据类型:数字、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义 typeof 判断数据类型 */ var i = 100; alert( typeof i ); // number var s = ' miaov '; alert( typeof s ); // string alert( s.length ); // 7 alert( s.charAt(3) ); // 'a' var b = true; // 布尔值:true false alert( typeof b ); // boolean if ( true ) {} for ( ; false ; ) { } var fn = function (){ alert(1); }; function fn1(){ alert(2); } alert( fn1 );//弹出函数体 fn1(); var obj = document; //地址传递 alert( typeof obj ); // object 物体、东西、对象 obj.abc = 123; obj.onOff = true; obj.fn1 = function (){ alert(1); }; alert( document.onOff ); // 123 obj.fn1();//函数调用 var arr = [ 1,2,3,4 ]; alert( arr.length ); arr[2] = 345; alert( arr ); arr.push( 5,6,7 );//加入多个 alert( arr ); alert( typeof arr ); // object arr.abc = 999;//数组是object,数组也可以加属性 arr.fn1 = function (){ alert('ok'); }; alert( arr.abc );//999 arr.fn1();//函数调用 var json = { name:'miaov', age:5 }; alert( json.name + '今年' + json.age + '岁了' ); alert( typeof json );//object var n = null; alert( typeof n );//object var u; alert( typeof u ); // undefined 未定义 </script> </head> <body> </body> </html>
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> //Number和parseInt可以处理小部分非数字,非数字太多就不行了。 <script> var a = '+100'; //正100 alert( a+100 ); // '100100' alert( Number(a) ); // 100 var a1 = ' '; alert( Number(a1) ); // 0 var a2 = true; alert( Number(a2) ); // true-1 false-0 var a3 = [ 1 ]; alert( Number(a3) ); // 1 0 var a3 = [ ]; alert( Number(a3) ); // 0 var a4 = null; alert( Number(a4) ); // 0 var b = ' 200px'; alert( Number(b) );//NaN alert( parseInt(b) );//200 parseInt(b,10):按照10进制转换 alert( parseInt('200px667677') );//200,只转前面的, alert( parseInt('+200px667677') );//200, var c = '12.34元'; alert( parseInt(c) );//12 alert( parseFloat(c) );//12.34 var num = '200.45'; if( parseInt(num) == parseFloat(num) ){ alert( num + '是整数' ); }else{ alert( num + '是小数' ); } var json = {}; alert( Number(json) ); var u; alert( Number(u) ); var a3 = function (){ alert(1); }; alert( Number(a3) ); // NaN </script> </head> <body> </body> </html>
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script> /* 显式类型转换(强制类型转换): Number() parseInt() parseFloat() 隐式类型转换: + 200 + '3' 变成字符串 - * / % '200' - 3 变成数字197 ++ -- var a='10';a--;alert(a) 9 变成数字 > < alert('10'>9) true 转成10>9, alert('10'>'9') false 字符串的比较 ! 取反 把右边的数据类型转成布尔值 == */ alert( Number('……') ); NaN alert( '……'-9 ); NaN alert( '2' == 2 );//true alert( '2' === 2 );//false </script> </head> <body> </body> </html>
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script> // JS中的数据类型:数字(NaN)、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义 var a = Number('abc'); alert( a ); // NaN:not a number 不是个 数字 的 数字类型 alert( typeof (a) ); // number // 一旦写程序中出现:NaN 肯定进行了非法的运算操作 // alert( '200px' - 100 ); // NaN 是 false if( a ){ alert( '真' ); }else{ alert( '假' ); } var abc = []; alert( abc === abc ); true // NaN 与自己都不相等!! alert( a === a ); // false </script> </head> <body> </body> </html>
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script> isNaN();// 判断是不是数字,不喜欢数字,不是数字true,是数字false // 判断某些值是不是数字 // 不喜欢数字、讨厌数字 alert( isNaN( function(){ alert(1) } ) );//true alert( isNaN('250') );//false,调用Number() '250' => 250 => false alert( isNaN( [] ) );//false,调用Number()=>0 </script> </head> <body> </body> </html>
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script> window.onload = function (){ var aInp = document.getElementsByTagName('input'); var str = ''; aInp[1].onclick = function (){ str = aInp[0].value;// '123' // HTML 中拿到的内容,类型都是字符串,即使输入123,也是字符串 alert( typeof str );//string if( isNaN(str) ){//调用Number('123')=>123,是数字。 alert( str + '不是数字' ); }else{ alert( str + '是数字' ); } }; }; </script> </head> <body> <input type="text" /> <input type="button" value="判断输入值是不是数字" /> </body> </html>