C#基础之javascript笔记7

                                            ——杨中科老.Net师视频笔记

新建工程

    在vs中新建一个名为Javascript的解决方案,并在解决方案中添加一个web项目,选择ASP.NET WEB 应用程序,取名:WebApplicationJS1,然后在项目中添加文件即可。

文件结构:

 

HTMLPage1.htm和common.js

    包括:javascrpt的变量、函数,引入外部js文件等

HTMLPage1.htm

<!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>中的<script>在body加载之前就已经运行了。写在body中的<script> 
    是随着页面的加载而一个个执行的 。 

    --> 
     
    <!--引用公共的JS文件--> 
    <script src="common.js" type="text/javascript"></script> 
     

    <!--javascript是从上往下执行的--> 

    <script type="text/javascript"> 
          alert(new
 Date().toLocaleDateString()); 

    </script> 
    <script type="text/javascript"> 
      //alert("head2"); 
        //var i = 10;//声明一个变量,名字为i,指向10这个整数,一旦指向10,i就是整类型了。 
        //i = "abc";  //此时i变成了字符串类型了。 
        //alter(i); 
 

        //i = i + j; 
        //alert(i); 
 
        //-------------变量-------------------- 
//        var sum = 0; 
//        for (var i = 1; i <= 100; i++)  
//        {  
//            sum =sum+1; 
//        } 
//        alert(sum); 
 
//        var x; 
//        if (x == null) { 
//            alert("undefined"); 
//        } 
//        if (typeof (x) == "undefined") { 
//            alert("undefined"); 
//        } 
//        if (!x) { 
//            alert("非x"); 
//        } 
        //-------------函数-------------------- 
        //不需要声明返回值类型、参数类型 。 
        function add(i1, i2) { 
            if (i1 > i2) { 
                return i1 + i2; 
            } 
            //return i1 + i2; 
        } 
        var i3 = add(12); 
        alert("函数:" + i3); 
 
        //-------------匿名函数---------------- 
        var f1 = function(i1, i2) { return i1 + i2; }//定义匿名函数 
        alert("匿名函数:" + f1(510)); 
        alert("匿名函数:" + function(i1, i2) { return i1 + i2; } (510));  
        //与上面的效果一样,这里是直接声明一个匿名函数立即使用。  
    </script> 
</head> 

<body> 
    <script type="text/javascript"> 
        alert("body1"); 

    </script> 

    ddddddddddddbbbbbbbbbbbbbbbbb<br> 

    <script type="text/javascript"> 
       alert("body2");  

    </script> 

    <hr /> 

    在超链接的点击里执行 JavaScript :  
    <a href="javascript:alert(88)"> 发发 </a><br/> 
    <hr /> 
    JavaScript 中也有事件的概念,当按钮被点击的时候也可以执行 
    JavaScript : 
    <input type="button" onclick="alert(99)" value=" 久久 "/><br/> 
    只有超链接的href中的 JavaScript 中才需要加 " "javascript: ",因为它不是事件, 
    而是把" "javascript: " 看成像 " http: " 、 " ftp: " 、" thunder:// " 、  
    " ed2k:// "、"mailto:" 一样的网络协议,交由js解析引擎处理。只有href中这是这是一个特例。 
    <hr /> 
        <p>JavaScript 中即可以使用双引号声明字符串, 也可以使用单引号 
    声明字符串 。主要是为了方便和 html 集成,避免转义符的麻烦。</p> 
        <p>Javascript中有 null 、 undefined 两种, null 表示变量的值为空, 
    undefined 则表示变量还没有指向任何的对象,未初始化。</p> 
    <hr /> 
    <p>Javascript是弱类型,声明变量的时候无法: int i=0 ;只能通过 
    var i=0; 声明变量,和 C# 中的 var 不一样,不是 C# 中那样的类型 
    推断。</p> 
    <p>Javascript中也可以不用 var 声明变量,直接用,这样的变量是 " 
    全局变量 " ,因此除非确实想用全局变量,否则使用的时候最好 
    加上 var 。</p> 
    <p>Javascript是动态类型的,因此 var i=0;i="abc"; 是合法的。</p> 
     
</body> 
</html> 
  

common.js

alert("用户你好,谢谢光临本站!"); 

 

HTMLPageOOP.htm

<!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> 
    <!-- 
        JavaScript 中没有类的语法,而是用函数闭包( closure )模拟出来的,下面讲解的时候还是用 C# 中的类、 
        构造函数的概念, JavaScript 中 String 、 Date 等 " 类 " 都被叫做 " 对象 " 
    --> 
    <script type="text/javascript"> 
        function Person(name, age) { 
            this.Name = name; 

            this.Age = age; 

            this.SayHello = function() { alert(this.Name)}; 
        } 
 
        var p1 = new Person("tom"30); 
        //alert(p1); 
        p1.Gender = "男"//往往p1对象添加一个属性 
        p1.SayHello(); 
        alert(p1.Gender);  //显示添加的属性 
 
        /* 
        String 对象 ( * ): 
        length 属性; 
        charAt 方法; 
        indexOf ; 
        match 、replace 、search 方法,正则表达式相关 
        split 
        substr 、substring 
        */ 
 
        /* 
        JavaScript 中的 Array 对象就是数组,首先是一个 动态数组 ,而且 
        是一个像 C# 中数组、 ArrayList 、 Hashtable 等的超强综合体。 
        */ 
 
//        var arr = new Array(); 
//        arr[0] = "tom"; 
//        arr[1] = "jerry"; 
//        arr[2] = "lily"; 
//        for (var i = 0; i < arr.length; i++) { 
//            alert(arr[i]); 
//        } 
 
        //------------求最大数-------------------- 
        function getMax(arr) { 
            var max = arr[0]; 
            for (var i = 0; i < arr.length; i++) { 
                if (arr[i] > max) { 
                    max = arr[i]; 
                } 
            } 
            return max; 
        } 
        var arr1 = new Array(); 
        arr1[0] = 20
        arr1[1] = 10
        arr1[2] = 21
        alert(getMax(arr1)); 
 
        //arr1.join("|") 将数组用分隔符连接成一个字符串。 
        //将一个字符串数组输出为 | 分割的形式 
//        function myjoin(arr) { 
//            if (arr.length <= 0) { 
//                return ""; 
//            } 
//            var s = arr[0]; 
//            for (var i = 1; i < arr.length; i++) { 
//                s = s + "|"+arr[i]; 
//            } 
//            return s; 
//        } 
//-----------------将字符数据组中的字符串反序输出------------------- 
//        var arr = new Array(); 
//        arr[0] = "tom"; 
//        arr[1] = "jerry"; 
//        arr[2] = "lily"; 
//        alert("连接的字符串为:"+myjoin(arr)); 
 
//-----------------将字符串数据组中的字符串反序输出------------------- 
//        function myreoverse(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; 
//            } 
//        } 
//        var arr = new Array(); 
//        arr[0] = "tom"; 
//        arr[1] = "jerry"; 
//        arr[2] = "lily"; 
 
//        alert("Array的ToString方法打印字符串数组:" + arr); 
//        myreoverse(arr);    //反序字符串 
//        alert("反序之后:" + arr); 
//--------------------Array的字典用法-------------------------------- 
        var dict = new Array(); 
        dict["人"] = "ren"
        dict["口"] = "kou"
        dict["手"] = "shou"
        alert("Array的字典用法一:" + dict["口"]); //用法一 
        alert("Array的字典用法二:"+dict.口);  //用法二 
        dict[0] = "tom"
//-----------------js中foreach语法应用(也使用 for)----------------------------------- 
        for (var k in dict) { 
            alert("js中foreach语法用法:" + k); 
        } 
 
        var arr = new Array(); 
        arr[0] = "tom"
        arr[1] = "jim"
        arr[2] = "lily"
        for(var i in arr){  //证明数组用法是Dictionary用法的一个特例 
            alert(i+"是:"+arr[i]); 
        } 
//-----------------js中Array的简化声明----------------------------------- 
        var arr = [35689];  //普通数组初始化 
        var arr2 = { "tom"30"jerry"50 };   //字典风格的简化创建方式 
        alert("字典风格的简化创建:" + arr2["tom"]); 
 
//-------------------用for获得对象的成员--------------------------------- 
        //for 循环还可以获得一个对象所有的成员,类似于 .Net 中的反射。 
//        for (var e in document) { //因为对象的成员就是以对象的key的形式出现,所以可以获得对象的所有成员 
//            alert("comument中的所有成员:"+e); 
//        } 
 
        var p1 = new Object(); 
        p1.Name = "tom"
        p1.Age = 30
        p1.SayHello = function() { alert("hello"); }; //匿名函数 
        p1.SayHello(); 
         
        for(var e in p1){ 
            alert("p1对象的成员:"+e); 
        } 
    </script> 
     
</head> 
<body> 
 
</body> 
</html> 

 

 

posted @ 2011-09-17 20:24  维唯为为  阅读(312)  评论(0编辑  收藏  举报