显式类型转换/隐式类型转换/变量作用域

来源:互联网 发布:最近网络最流行的话 编辑:程序博客网 时间:2024/06/15 05:09
妙味课堂:
1、显式类型转换(强制类型转换)
    parseInt可以把字符串转化为数字(或者说从字符串中提取数字)
    12.6——>12
    12px34——> 12
    'abc'——>NaN //Not A Number
    从左到右是数字取出,碰到不是数字的停止
    parseFloat把字符串转化为小数
求和器:
<html>    <head>    <script>    window.onload=function()      {    var oTxt1=document.getElementById("txt1");    var oTxt2=document.getElementById("txt2");    var oBtn=document.getElementById("btn1");    oBtn.onclick=function()    {       var num=parseInt(oTxt1.value)+parseInt(oTxt2.value);       if(isNaN(num))      //isNaN检测是否是NaN,是的话是true,不是则是false       {       alert("您输入的有误");       }       else       {       alert(num);       }    }      }    </script>    </head>      <body>    <input id="txt1" type="text"/>    <input id="txt2" type="text"/>    <input id="btn1" type="button" value="求和"/>    </body></html>    
注意:(1)NaN和任何东西相加还是NuN
      (2)两个NaN不能相比,总是不相等
2、隐式类型转换    :不用告诉计算机它自己就会做
   ==   ===   -  *  /
   为什么加法没有隐式类型转换?
   加号:(1)字符串连接
         (2)数字相加
   减号:数字相减    
   eg:
  (1) var a='12';
      var b=12;
      //alert(a==b);            //弹出true  ==先把两边的东西转换成一样的类型,然后再比较
      alert(a===b);          //不转换,比较直接,弹出false
  (2)  var a='12';
       var b='5';
       alert(a-b) ;                //弹出7  -把a b转化为数字后相减
3、变量作用域:变量起作用的范围
  (1) function aaa()
      {
      var a=12;             //局部变量:定义在一个函数里,只能在这个函数里用
      }
      function bbb()
      {
      alert(a);              //提示报错
      }
      aaa();
      bbb();
  (2)var a;                  //全局变量:不定义在任何一个函数里,可以在任何地方去用
     function aaa()
      {
        a=12;
      }    
     function bbb()
       {
       alert(a);              //弹出12
       }
       aaa();
       bbb();
  (3)function aaa()
      {
         var a=12;
         function bbb()       //子函数可以使用父元素的局部变量——闭包
         {
           alert(a);
         }
        bbb();
      }
      aaa();
0 0
原创粉丝点击