码迷,mamicode.com
首页 > 其他好文 > 详细

7月26号=》276页-285页

时间:2014-07-27 22:06:49      阅读:348      评论:0      收藏:0      [点我收藏+]

标签:

13.1.1  运行JavaScript

      前面已经介绍了JavaScript通常嵌在互联网页中执行,在HTML页面中嵌入执行JavaScript代码有两种方式。

        使用javascript:前缀构建执行JavaScript代码的URL。

        使用<script>元素来包含JavaScript代码。

      代码示范:

        //第一种方式

        <a href="javascript:alert(‘运行JavaScript!‘);">运行 JavaScript<a/>

        //第二种方式

        <script type="text/javascript">

          alert("直接运行的JavaScript!");

        </script>

 

13.1.2  导入JavaScript文件

      为了让HTML页面和JavaScript脚本更好的分离,我们可以将JavaScript脚本单独保存在一个*.js文件中。

      代码示范:

        <script src="test.js" type="text/javascript"></script>

      上面语法中src属性指定JavaScript脚本文件所在的URL。使用脚本文件分离的方式和直接在该页面上写的脚本效果是一致的。

 

13.2  数据类型和变量

      任何语言都离不开数据类型和变量。下面依次介绍JavaScript中数据类型和变量的基本语法

13.2.1  定义变量的方式

      JavaScript是弱类型脚本语言,使用变量之前,可以无须定义,想使用某个变量时直接使用即可。归纳起来,

      JavaScript支持两种方式来引入变量。

        隐示定义:直接给变量赋值。

        显示定义:使用var关键字定义变量。

      代码示范:

        //隐示方式定义变量a

        a = "Hello JavaScript";

        alert(a);

        //显示方式定义变量a

        var a = "Hello JavaScript";

        alert(a);

      隐示定义的方式简单、快捷、需要使用变量时,直接给变量赋值即可。

      显示声明方式是采用var关键字声明变量,声明时变量可以没有初始值,声明的变量数据类型是不确定的。当第一次给变量

      赋值是,变量的数据类型才确定下来,而且使用过程中变量的数据类型也可随意改变。

 

13.2.2  类型转换

      JavaScript支持自动类型转换,这种类型转换的功能非常强大。

      代码示范:

        //定义字符串变量

        var a = "3.145";

        //让字符串变量和数值执行算术运算

        var b = a-2;

        //让字符串变量和数值执行加法运算

        var c = a+2;

      在上面代码中,a是值为3.145的字符串,让a和数值执行减法,则自动执行算数运算,并将a的类型转换为数值;

      让a和数值执行加法,则a的值转换为字符串。这就是自动类型转换,它的转换规律是:

        对于减号运算符,因为字符串不支持减法运算,所以系统自动将字符串转换成数值。

        对于加号运算,因为字符串可用加号作为连接运算符,所以系统自动将数值转换各种类型

 

      各种类型自动类型转换的结果如下表所示:

各种类型自动类型转换的结果
目标类型
字符串类型 数值型 布尔型 对象
undefined "undefined" NaN false Error
null "null" 0 false Error
字符串 不变 数值或NaN true String对象
空字符串 不变 0 false String对象
0 "0" 0 false Number对象
NaN "NaN" NaN false Number对象
Infinity "Infinity" Infinity true Number对象
-Infinity "-Infinity" -Infinity true Number对象
数值 数值字符串 不变 true Number对象
true "true" 1 不变 Boolean对象
false "false" 0 不变 Boolean对象
对象 "toString()返回值" valueOf(),toString()或NaN true 不变

 

      这种自动类型转换虽然方便,但程序可读性非常差,而且有时候我们就是希望让字符串和数值执行加法运算,这就需要使用强制类型转换了。

      JavaScript提供了如下几个函数来执行强制类型转换。

        toString():将布尔值、数值等转换成字符串。

        parseInt():将字符串、布尔值等转换成整数。

        parseFloat():将字符串、布尔值等转换成浮点数

 

13.2.3  变量

      JavaScript是弱类型语言,同一个变量可以一会儿存储数值,一会儿存储字符串。变量还有个重要的概念:作用范围。

      根据变量定义的范围不同,变量有全局变量和局部变量之分。直接定义的变量时全局变量,全局变量可以被所有的脚本

      访问;在函数里定义的变量称为局部变量,局部变量只在函数内有效。如果全局变量和局部变量使用相同的变量名,则

      局部变量将覆盖全局变量。

      代码示范:

        //定义全局变量test

        var test = "全局变量";

        //定义函数checkScope

        function checkScope()

        {

          //定义局部变量

          var test = "局部变量";

          alert(test);

        }

        checkScope();

      执行结果将会是"局部变量",代码中定义了名为test的全局变量,但在函数中又定义了名为test的局部变量,函数中

      的局部变量覆盖了全局变量。与java、C语言不通的是,JavaScript的变量没有块范围。

      代码示范:

        function test(o)

        {

          if(typeof o == "object")

          {

            //定义变量j,变量j的作用范围是整个函数内,而不是if块内

            var j = 5;

            for(var k = 0; k<10;k++)

            {

              //因为JavaScript没有代码块范围

              //所以k的作用范围是整个函数内,而不是循环体内

              document.write(k);

            }

          }

          //即使出了循环体,k的值依然存在

          alert(k+"\n"+j);

        }

7月26号=》276页-285页

标签:

原文地址:http://www.cnblogs.com/duzuoyan/p/3871321.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!