企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
ECMAScript标准,语法遵循这个标准 ~~~ var a = 1; ~~~ *** ### 数据类型 js中的数据类型: 数值型(Number) 字符串(String) 布尔型(boolean) 函数型(function) 对象(Object):例如window,document,json,数组 *** **面试题:JavaScript中原始数据类型有哪些?** Number,String,Boolean,Null,undefined *** ### typeof查看类型 *** ### 类型转换 ~~~ <script type="text/javascript"> var a = '100'; Number(a); // 转成数字100 var a = '0000100';// 转换也是100 var a1 = ''; alert(Number(a1));//转换成0,空格也是0 var a2 = true; alert(Number(a2));// true-1 false-0 var a3 = function(){alert(1)}; alert(Number(a3));//NaN 转不了 var a4 = []; alert(Number(a4));//如果数组没有元素,就是0,空字符串也是0,123就是123,数组中放一堆东西,转成NaN var json = {abc:123}; alert(Number(json));//json转不了,NaN var a5 = null; alert(Number(a5));//0 var a6; alert(Number(a6));//NaN </script> ~~~ ~~~ <script type="text/javascript"> var b = '100px'; alert(Number(b));//NaN // 这时我们用parseint var b = '100px'; alert(parseInt(b));//从左到右一个一个看,所以转换结果是100,不要拿paerint去转其他东西,就让它转换(前面的)数字就可以; var c = '12.34元'; alert(parseInt(c));//12,用parseFloat,如果有多个.就只能到第一个点 alert(parseInt(c),10);//10进制 2 二进制 8 八进制 var num = '200'; // 判断一个值是整数还是小数 if(parseInt(num) == parseFloat(num)){ alert(num+'是整数'); }else{ alert(num+'是小数'); } </script> ~~~ *** ### 隐式转换 ~~~ <script type="text/javascript"> // 利用上述number、parseint...是显式转换,还有隐式转换 alert('200' - 3);// - * / % 都转换成数字 alert(200+'3');//+是连接 var a = '10'; a++;//a--; alert(a);//11 // <、> alert('10' > 9);//true alert('10' > '9');//false,比较的是字符码 // !取反 alert(!true);//false // == alert(2 == '2');//true,比较时有隐式转换 alert('2' === 2);//false,类型和值必须都相等 alert(Number('...'));//NaN alert('....'-9);//NaN </script> ~~~ *** ### NaN NaN:not a number 出现转换错误时的提示信息 NaN与自己相比都是false *** ### isNaN() isNaN()是一个方法,帮我们判断某些值是不是数字,其本身属于Number类型 isNaN()遇到数字就是false ~~~ <script type="text/javascript"> alert(isNaN(2));//false alert(isNaN('你好'));//true alert(isNaN('50'));//false,内部经是过Number转换的 alert(isNaN(true));//false </script> ~~~ 课堂练习-1:判断一个文本框中输入的是不是数字(思考:可不可以用typeof判断) 课堂练习-2: ![](https://box.kancloud.cn/d1f36a63e0eda42881e767ac609af73a_387x152.png)