黑马程序员—Javascript基础

---------------------- Windows Phone 7手机开发.NET培训、期待与您交流!----------------------

 

1.JavaScript 
 是一种在浏览器端执行的语言。
 JS 是解释型语言,无需编译就可以随时运行,即使有语法错误,没有语法错误的部分还能正确运行。
 
2.JS 开发环境 
 
3.JS入门 
 <script type="text/javascript" >
     alert(new Date().toLocaleDateString());
 </script>
 
 放到<head>中的<script>在body加载之前就已经运行了。
 在<head>中和<body>中,<script>可以写多次
 html页面从上往下执行。
 <!--引用公共的JS文件,就像C#中的添加引用-->
 <script src="common.js" type="text/javascript" ></script>
 
4.事件 
 <a href ="javascript:alert('Hello')">点击</a>
 <a href ="1.htm" οnclick="alert('Hello2')">点点</a>
 只有在超链接的 href 中的 javascript中才需要加“javascript”,因为它不是事件,而是把“Javascript”看成像“http:”,"ftp:","thunder://","ed2k://","mailto:"一样的网络协议
 交由js解析引擎处理,只有href中是一个特例。
 button的onclick事件:
 <input type="button" value="点" οnclick="alert('点我啊!')" />
 
5.JS 的变量 
 javascript 中即可双引号,单引号声明变量
 Javascript中有null,undefined两种,null 表示变量的值为空,undefined 则表示变量还没有指向任何对象,未初始化。
 
 <script  type="text/javascript">
     var i=10;//声明一个变量,名字为i,指向10 这个整数 ,一旦指向10,i就是int 类型了。
     i="abc";//嫁鸡随鸡嫁狗随狗,制定类型之后,还可以再变
     alert(i);
 </script>
 
6.JS 排错与调试 
 IE调试选项要打开,Internet选项/高级,去掉“禁用脚本调试”前的勾选
 以调试方式运行页面
 设置断点,监视变量等操作和C#一样
 
7.判断变量初始化 
 JS中判断一个变量是否为空,是否已经初始化的三种方法:
 (1) var x;
       if(x==null);
       { alert("null");}
 (2) if(tyeof(x)=="undefined")
     { alert('undefined');}
 (3)if(!x) //推荐用这种写法
   {alert('不 x ');}
 
 if(x){} 变量被初始化了或者变量不为空或者变量不为0
 
8.函数的声明 
 Javascript中声明函数的方式:(没有返回值类型,没有参数类型)
 function add(i1,i2){
   return i1+i2;
  }
 注意格式
 
 <script type ="text/javascript" >
  function add(i1,i2){
         return i1+i2;
   }
  var i3=add(1,2);
  alert(i3);
 </script>
 注:函数的使用可以放在声明的前后,都可以。
    没有返回值的话,就是undefined
 
9.匿名函数 
 var f1=function(i1,i2){
   return i1+i2;
 }
  alert(f1(i1,i2));
 
 说明:声明一个函数,用f1委托指向它,后面在调用f1.把f1当做函数在用
 少见可行的用法:(直接声明一个匿名函数,立即使用)
 alert(function (i1,i2){return i1+i2;} (10,10));
 
10.JS面向对象基础 
 JavaScript中没有类的语法,是用函数闭包(closure)模拟出来的。(类不是类,是对象)
    <script type="text/javascript" >
         function Person(name,age){   //声明一个函数,当成类用
             this.Name=name;
             this.Age=age;
             this.SayHello=function(){alert("你好,我是"+this.Name +",我"+this.Age+"岁了!")};
             //动态声明SayHello方法,指向匿名函数
         }
         var p1=new Person("tom",20);
         p1.SayHello();
     </script>
 
11.Array对象 
 在Javascript中,array是一个动态数组,无需预先定义大小,是动态的
 求一个数组中的最大值:
 function GetMax(arr){          
    var max=arr[0];
    for(var i=1;i<arr.length;i++){
       if(arr[i]>max){
          max=arr[i];
       }
     }
    return max;
    }
    var arr1=new Array();
    arr1[0]=3;
    arr1[1]=2;
    arr1[2]=5;
        
    alert (GetMax(arr1));
 
 字符串之间用 “|”隔开:
 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 myReverse(arr){
             var temp;
             for(var i=0;i<arr.length/2;i++){
                 temp=arr[i];
                 arr[i]=arr[arr.length-i-1];
                 arr[arr.length-i-1]=temp;
             }         
           
         }
         var arr2=new Array();
         arr2[0]="3";
         arr2[1]="a";
         arr2[2]="8";
         arr2[3]="haha";
         alert(arr2);
         myReverse(arr2);
         alert(arr2);
 
12.JS中Dictionary 
 Array,不仅是一个数组,还是一个Dictionary,还是一个Stack。
  var dict=new Array();
  dict["人"]="ren";
  dict["口"]="kou";
  dict["手"]="shou";
  alert(dict["口"]); //根据 key ,来取value
  for(var k in dict){  //JS中没有foreach,通过for的语法,遍历key
    alert(k);
  }
 
13.Array 的简化声明 
 1)普通数组初始化:
 var arr=[3,5,6,8,3,2];
 2)字典风格的简化创建方式:
  var arr={"tom":30,"jim":20};
 
14.数组,for及其他 
 //获得对象所有的成员,为什么可以获得呢?对象的成员就是以对象的key的形式出现的
 for(var e in document){
    alert(e);
 }

---------------------- Windows Phone 7手机开发.NET培训、期待与您交流!----------------------

详细请查看:http://edu.csdn.net/heima/

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值