JavaScript学习笔记 

页面嵌入:

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>

    <script type="text/javascript">        alert("你好!");

    </script>

</head>

<body>

 

</body>

</html>

外部引用:

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>

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

</head>

<body>

 

</body>

</html>

Jscript页面代码如下:

alert("你好!");

事件1:

<!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>

<a href="javascript:alert('你好!')">点点</a>

</body>

</html>

同时,不同于C#(单引号表示char类型,双引号表示string类型),在JavaScript中不区分单引号和双引号。

直接在超链接中引用JavaScript代码。这样做比较特殊,它需要在使用alert()之前,加一个javascript:

事件2

<!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>

<a href="http://www.baidu.com" onclick="alert('您好!')">点点</a>

</body>

</html>

定义变量:

var i=10;

i="abc";

定义函数:

function add(i1,i2){

  return i1+i2;

} 

由于JavaAcript是弱类型的语言,所以他的函数声明没有返回值类型,它的参数也不用声明类型。 

匿名函数:

    <script type="text/javascript">

        var f1 = function (i1, i2) { alert(i1 + i2); };

        f1(2, 3);

    </script>

这里的变量f1的作用类似于C#中的委托类型。

下面来看一个很奇怪的匿名函数的用法,这种用法在JQuery中会经常用

    <script type="text/javascript">        alert(function (i1, i2) { return i1 + i2; } (10, 2));

    </script>

直接在匿名函数后面传入实参的值,直接使用。

在JavaScript中定义一个对象,可以简单的把它理解为C#中的自定义的类。(但它的实质其实是对象而不是类):

    <script type="text/javascript">

        function Person(name, age) {

            this.name = name;

            this.age = age;

            this.SayHello=function(){

            alert("你好,"+this.name+"你的年龄是:"+this.age);

            }

        }

        var p1=new Person("wang",30);

        p1.SayHello();

    </script>

Array数组:

 

    <script type="text/javascript">

        var name = new Array();

        name[0] = "wang";

        name[1] = "li";

        name[2] = "long";

        for (var i = 0; i < name.length; i++) {

            alert(name[i]);

        }

    </script>

JavaScript中的数组是动态的,不用预先定义数组的大小。

实例:求一个Array数组中最大的值

    <script type="text/javascript">

        function maxNumber(arr) {

            var max = arr[0];

            for (var i = 0; i < arr.length; i++) {

                if (arr[i] > max) {

                    max = arr[i];

                 }

            }

            return max;

        }

        var arr = new Array();

        arr[0] = 10;

        arr[1] = 9;

        arr[3] = 20;

        alert(maxNumber(arr));

    </script>

实例:将一个Array数组按照指定格式输出

    <script type="text/javascript">

        var arr = new Array();

        arr[0] = "张三";

        arr[1] = "李四";

        arr[2] = "王五";

 

        function MyJoin(arr) {

            var str = "";

            for (var i = 1; i < arr.length; i++) {

                str += "|" + arr[i];

            }

            str = arr[0] + str;

            alert(str);

        }

 

        MyJoin(arr);

    </script>

实例:将一个Array数组中元素逆序输出

    <script type="text/javascript">

        var arr = new Array();

        arr[0] = "张三";

        arr[1] = "李四";

        arr[2] = "王五";

 

        function MyReverse(arr) {

            for (var i = 0; i < arr.length / 2; i++) {

                var temp = arr[i];

                arr[i] = arr[arr.length - i - 1];

                arr[arr.length - i - 1] = temp;

            }

            alert(arr);

        }

 

        alert(arr);

        MyReverse(arr);

    </script>

JavaScript中的Array数组功能非常强大,它可以实现类似C#中Dictionary之类的集合的功能。

    <script type="text/javascript">

        var arr = new Array();

        arr[""] = "嘎嘎";

        arr[""] = "哈哈";

        arr[""] = "啦啦";     

 

        for (var a in arr) {

            alert(a);

        }

        for (var a in arr) {

            alert(arr[a]);

        }

    </script>

可以使用非整型元素作为数组的键。

使用类似C#的foreach的方法进行循环,取到的值是数组的键。

JavaScript中的Array数组简化声明方式:

    <script type="text/javascript">

        var arr = [3, 5, 2, 1];//功能类似于C#中的数组。这里使用的是中括号,不是C#中的大括号

        var arr = { "": "嘎嘎", "": "哈哈", "": "啦啦" };//功能类似于C#中的Dictionary之类的集合。使用键值对,这里使用的是大括号。

    </script>

 

posted on 2013-04-29 00:57  零点HY  阅读(139)  评论(0编辑  收藏  举报