日期:2014-05-20 浏览次数:21167 次
1、 直接在超链接中调用javascript(只有在href中才需要写javascript:说明交给javascript引擎处理)
<a href="javascript:alert('hello')">hello</a>
<a href="" onclick="alert('hello2')">点击我2</a>
2、在javascript中即可以使用单引号也可以使用双引号声明字符串
   只有是方便和html集成,避免转义字符麻烦
3、javascript 是若类型   如果不声明var i  直接写i=10;声明的是一个全局变量(千万别这么用,避免冲突)
   var i=10; //声明一个变量,名字为i 指向10这个整数,i就是int类型
   i='abc' ; //现在是字符串了
4、调试Javascript
   IE--高级--禁用脚本提示点上√
   VS--工具--选项--打开行号
   DebugBar JS调试工具
   ASP.NET 调试JS 和C#一样的可能得把对勾去掉
5、判断变量是否初始化的三种方式
   var x;
   if (x==null){
 alert('null');
   }
   if (typeof(x)=="undefined"){
 alert('undefined');
   } 
   if (!x){
 alert('不X');
   }
6、函数的声明(这里的大括号推荐这么写,因为以后可能引起歧义)
   function add(i1,i2){ //只是声明,不会立即执行
  return i1+i2;
   }
   注意:
   function compare(i1,i2){
 if (i1>i2)
 return i1;
   }
   这样的写法不会报错假设 compare(6,4)返回6 否则返回undefine
7、匿名函数--避免冲突
   var f1=function (i1,i2){
 return i1+i2;
   }
   alert(f1(5,9));
   alert(function (i1,i2){return i1*i2;}(10,9));
8、JS面向对象基础( *** js分大小写的)
   注意:Javascript没有类的语法,是用函数闭包(closure)模拟出来的,
         Javascript声明类(类不是类,是对象)
   function Person(name,age){ //声明一个函数,当成类用
 this.Name=name; //动态增加的一个变量
 this.Age=age;
 this.SayHello=function(){alert(this.Name);}
   }
   var p1=new Person("tom",20); //必须new,否则变成调用函数了
   p1.SayHello();
   p1.Gender='男';
   alert(p1.Gender);
9、Array对象
   JavaScript中的Array是个动态的数组(类似C#arraylist)
   
   var names=new Array(); //这里必须是大写
   names[0]='liyang';
   names[1]='zhangsan';
   names[2]='lisi';
   for(var i=0;i<names.length;i++){
 alert(names[i]);
   }
 
10、求数组最大数
   var arr1=new Array();
   arr1[0]=30;
   arr1[1]=11;
   arr1[2]=3;
   arr1[3]=55;
   alert(arr1[3]);
   function getMax(arr){
 var max=arr[0];
 for(var i=0;i<arr.length;i++){
  alert(arr[i]);
  if (arr[i]>max){
   max=arr[i];
  }
 
 }
 return max;
   }
  
   alert(getMax(arr1));
10、反转  联合
  function myReverse(arr1) {
            
            for (var i = 0; i < arr1.length/2; i++) {
                var tmp = arr[i];
                arr1[i] = arr1[arr1.length - i-1];
                arr1[arr1.length - i-1] = tmp;
            }            
            return arr1;
        }
        
        function myjoin(arrs) {
            if (arrs.length <= 0) {
                return "";
            }
            var s = arrs[0];
            for (var i = 1; i < arrs.length; i++) {
                s = s + "|" + arrs[i];
            }
            return s;
        }
11、JS当字典使用
    <%--字典 --%>
    <script type="text/javascript">
        var dict = Array();
        dict["人"] = "ren";
        dict["猫"] = "mao";
        alert(dict["人"]);
        alert(dict.猫);
        for (var k in dict) { //js中的foreach语法
            //遍历出来是key 不是值
            
            alert(k);
        
        }
        var arr = new Array();
        arr[0] = "1";
        arr[1] = "2";
        for (var k in arr) {
            alert(arr[k]);
        }
        
    
    </script>
12、Array的简化声明
      <%--Array的简化声明 --%>
      <script type="text/javascript">
          var arr = [1, 3, 4, 5, 6, 8];
          arr = { "tom": 30, "liyang": 25 }
          for (var k in arr) {
              alert(k +"---" +arr[k]);
          
          }
      
      </script>
13、获得对象所有成员  因为对象的成员就是以对象的Key的形式出现的
    <%--知道一个对象的所有方法 --%>
    <script type="text/javascript">
        for (var k in document) {
            alert(k);
        }
        var p1 = new Object();
        p1.Name = "tom";
        p1.Age = "30";
        p1.SayHello=function() {alert("hello")};
        
        p1.SayHello();
        
        for (var k in p1)
        {
        alert(k);
        }
    
    </script>