1关于script标签属性,注意点,浏览器文档模式,各种数据类型的转化

时间:2023-01-13 13:54:49

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>

<!--script标签的属性:1.charset 2.defer 3.language 4.src 5.type
他里边的代码解释顺序是从上到下。
里边的代码内容不能含有script标签,因为会把它作为结束标志,解决办法是把它分拆。
引用的外部js文件的解析顺序也是从上到下,但是如果都把引用的外部js文件放在头处,如果碰到引用外部js文件多且大,
解决办法是把它们放在body元素中
或者在script的属性中设置defer="defer"。不过对于他只有火狐和IE支持这个属性。
在xhtml代码中,不要使用<号,因为会把它解析城其他的标志,解决方法是1.把<换为&lt; 2.使用<![CDATA[js代码]]>  
 3.使用 //<![CDATA[js代码 //]]> 也可以
-->
<script type="text/jscript">
    //<![CDATA[
   function compare(a,b)
    {
        if(a < b)
        {
              alert("b比a大");
        }
        else{
                 alert("a比b大");
        }
    }
  //  ]]>
</script>
<!--尽量引用外部js的 原因:维护性强,可缓存,可适应未来-->
<!--文档类型:IE5是混杂模式,IE7是标准模式,IE8是超级标准模式,在IE8中可以用meta标签来关闭默认文档模式。
如<meta http-equiv="X-UA-Compatible" content="IE=7"/>,这样就可以使用IE7的呈现引擎来呈现页面-->
    <input id="Button1" type="button"  onclick="compare(1,2);" value="比较1和2的大小"/>
   <!--定义变量的时候可以这样定义:var message= 'infoa',meesage1=1,message2=true;-->

<!--typeof的使用:他并不是一个函数,它只是一个操作符,但是可以用()如下:-->
   <script type="text/jscript">
       function testTypeOf() {
           var message = "message", number1 = 95;
           alert(typeof message);
           alert(typeof (message));

alert(typeof number1);

}
   </script>
    <input id="Button2" type="button" value="检测类型" onclick="testTypeOf();" />

<!--未初始化的默认值未undefined,null类型是一个object,undefined派生自null    @40-->
</body>
</html>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <!--JS里是可以表示八进制,和十六进制的,八进制就是在前边加一个前导的零,如果后边的数超过了0到7,
    那么前导的零会被忽略,当做10进制来解析 。 对于16进制,前边需要加0x表示16进制
    -->
    <!--NaN:用于返回本来要返回数值的操作数而未返回的操作数值得情况(这样就不会出错了),它和任何数值都不相等,包括和自己。如-->
    <script type="text/jscript">
        function change() {
            if (NaN == NaN) {
                 alert(true);
            }
            else {
                alert(false);
            }
        }
    </script>
</head>
<body>
     <input id="Button1" type="button" value="测试NaN" onclick="change();" />

<!--有三个数值转换函数:Number():用于任何数据类型,包括对象。parseInt和paseFloat:只用于把字符串转换为数值。
     paseInt会忽略前导的空格,它也能识别各种格式的整数。如:
     -->
     <script type="text/javascript">

function testInt() {
             var number1 = parseInt("0xAF", 16);
             var numbser2 = parseInt("010", 8);
             alert("0xAF转化为16进制为:" + number1);
             alert("010转化为8进制为:"+numbser2);
         }
     </script>
    <input id="Button2" type="button" value="parseInt测试" onclick="testInt();" />

<!--paseFloat:它始终会忽略前导的0,同时对于16进制的数它会转化为0如:-->
    <script type="text/javascript">
        function testParseFloat(a) {
            alert(parseFloat(a));
            alert("0xAF在paseFloat中为:" + parseFloat("0xAF"));
        }
    </script>
    <input id="Button3" type="button" value="测试parseFloat" onclick="testParseFloat('010');" />

<!--数值,bool值,对象都有toString()方法。而null,undefine是没有toString()方法的,多数情况下,它并不需要参数。但是在需要把数字
    类型的字符串转化为各种数据格式时候,可以传递参数 如:-->
        <script type="text/javascript">
            function testToString(number) {
                alert("9转化为8进制:"+number.toString(8));
            }

</script>
    <input id="Button4" type="button" value="测试testToString" onclick="testToString(9);" />

<!--在不知道其值是否是null,undefine的情况下,可以使用String()方法。 如:-->
    <script type="text/javascript">
        function testString(a) {
            alert(String(a));
        }
    </script>
      <input id="Button5" type="button" value="测试String"  onclick="testString(null);"/>

<!--对象其实就是一组数据和功能的组合。它有6个属性和方法。-->
      <!--位操作符,关键是要知道底层对有符号的正数和负数做的转化。(补码),非(~),与(&),或(|),异或(^)
        左移(<<),左移不会影响操作数的符号位。有符号的右移(>>),无符号的右移(>>>)。有符号的右移和无符号的右移对于
        正数没有什么影响,但是对于负数差别就很大了。因为无符号右移是以0来填充空位,有符号右移是以符号位的值充空空位。如:
      -->
      <script type="text/javascript">
          function testMoveRight(a){
               var oldValue = a;
               var newValue = a>>>5;
               alert("-64的无符号右移后的值:" + newValue);
          }
      </script>
    <input id="Button6" type="button" value="测试负数的无符号右移" onclick="testMoveRight(-64);" />
</body>
</html>