Javascript是解释性语言,是解释一句编译一句(为了适应网络上传输带宽,不能传输过大的这个特点,所以采用解释性语言)。其介于Java和HTML之间。

注释:只是为了给程序员看的,不会参与到程序的编译中。

虚拟机在操作平台上运行,Java程序是在各个操作平台的虚拟机上运行。Java是跨平台的,平台无关性的语言。其不依赖于操作系统,其各个操作系统的兼容性由虚拟机完成。

Javascript是由浏览器解释运行的,所以其和操作系统也是无关的,也是平台无关性的。

 


JavaScript 函数传入object数组 js把对象放入数组_运维

为了解决有些浏览器不能解析 
  javascript 
  代码而设计的,如果浏览器把不能识别 
  Javascript 
  代码,这些代码就会被忽略。 
  
 
Javascript采用的是弱类型的数据类型。
 
 

   js的放置 
 
 
 

   1.位于 head 部分的脚本: 
 
 
 

      当脚本被调用时,或者当事件被触发时,脚本就会被执行。当你把脚本放置到 head 部分后,就可以确保在需要使用脚本之前,它已经被载入了。 
 
 
 

   2.位于 body 部分的脚本: 
 
 
 

      在页面载入时脚本就会被执行。当你把脚本放置于 body 部分后,它就会生成页面的内容。 
 
 
 

   3.在 body 和 head 部分的脚本: 
 
 
 

   你可以在文档中放置任何数量的脚本,因此你既可以把脚本放置到 body,又可以放置到 head 部分。 
 
 
 

   4.还有一种是外部javascript 
 
 
 

    一、javascript对象 
  
 javascript的object类型 
  

    1.使用new运算符 
  
 
  

      var ob=new Object();创建一个对象 
  
 
  

    测试对象是什么类型:用typeof ,使用例子:typeof ob; 
  
 
  

    对象中包含哪些元素: 
  
 
  

       1.属性 
  
 
  

       2.函数 
  
 
  

    属性的创建方法:ob.name="例子",alert(ob.name); 
  
 
  

    2.可以省略new关键字 
  
 
  

      var ob=Object(); 
  
 
  

    3.字面量方式创建对象 
  
 
  

      var ob={}; 
  
 
  

      创建属性:var ob={name:'例子',age:18}; 
  
 
  

      创建属性也可以是:var ob={‘name':'例子'};双引号也可以 
  
 
  

      输出:alert(ob.name); 
  
 
  

            alert(ob.['name']);用数组的方式输出,双引号也可以 
  
 
  

             
  
 
  

    4.给对象创建方法 
  
 
  

    1.传统的创建方法 
  
 
  

    function objrun(){ 
  
 
  

    return '123'; 
  
 
  

    } 
  
 
  

    var ob=new Object(); 
  
 
  

    ob.name='lizi'; 
  
 
  

    ob.age=18; 
  
 
  

    ob.run=objrun();会返回值,ob.run=getrun这个会打印出代码 
  
 
  

    alert(ob.run); 
  
 
  

    2.字面量的创建方法 
  
 
  

    var obj={ 
  
 
  

         name:'我的名字', 
  
 
  

         age:21, 
  
 
  

         run:function(){//匿名方法 
  
 
  

           return '123'; 
  
 
  

          } 
  
 
  

    }; 
  
 
  

    测试调用函数 
  
 
  

    alert(obj.run()); 
  
 
  

    5.删除属性 
  
 
  

      delete obj.name; 
  
 
  

    小技巧:字面量的对象显得代码更加简洁,具有封装的感觉 
  
 
  

       例如:我们要穿多个参数,字面量方法更加简洁 
  
 
  

      function box(obj){ 
  
 
  

          if(obj.name!=undefined)alert(obj.name); 
  
 
  

          if(obj.love!=undefined) alert(obj.age); 
  
 
  

    } 
  
 
  

      a. var obj={ 
  
 
  

         name:‘我的名字’, 
  
 
  

         age:21 
  
 
  

         } 
  
 
  

    b.匿名对象传参数 
  
 
  

       box({ 
  
 
  

         name:‘我的名字’, 
  
 
  

         age:21 
  
 
  

         }); 
  
 
  

    二、Array类型 
  
 
  

       创建Array的方法有两种: 
  
 
  

     1.使用new关键字 
  
 
  

      var obj=new Array(); 
  
 
  

    var obj=new Array(10);创建一个包含10元素的数组 
  
 
  

    var obj=new Array('我的名字','地址');创建了一个数组,并分配了2个元素 
  
 
  

       alert(typeof obj);obj属于Object类型 
  
 
  

      
  
 
  

    var obj=new Array('我的名字','地址'),数组值的打印: 
  
 
  

      1.以下标 
  
 
  

      2.直接alert(obj);


JavaScript 函数传入object数组 js把对象放入数组_运维_02


2.字面量的数组创建



JavaScript 函数传入object数组 js把对象放入数组_运维_03




JavaScript 函数传入object数组 js把对象放入数组_运维_04


注意



JavaScript 函数传入object数组 js把对象放入数组_数组_05


ps:和object一样,字面量的写法不会调用Array()构造方法,(Firefox除外)



字面量的增加修改



JavaScript 函数传入object数组 js把对象放入数组_ViewUI_06



以对象的方式给数组赋值,因为数组也是一个object对象



JavaScript 函数传入object数组 js把对象放入数组_运维_07



JavaScript 函数传入object数组 js把对象放入数组_java_08

var obe=['ty',21]; 
   
 
   

             obe.length=10;    强制了元素量 
   
 
   

             alert(obe.length); 
   
 
   

             alert(obe); 
   
 
   

      根据obe的长度赋值 
   
 
   

          var obe=['ty',21]; 
   
 
   

             obe[obe.length]="wod";获取最后一个下标值 
   
 
   

             alert(obe);


数组的内置方法:



JavaScript 函数传入object数组 js把对象放入数组_java_09



toLocaleString()方法有本地格式化的功能,其得到的日期是本电脑的时间



 



var obe=['ty',21];



alert(obe.join("%"));join()方法是将数组以某种方式(在这里是用%分隔)分隔返回的字符串



数组的栈方法(后进先出),就是类似于有底的杯子中装了东西,再取出的过程



JavaScript 函数传入object数组 js把对象放入数组_ViewUI_10




var obe=['ty',21]; 
    
 
    

              alert(obe.push("我家门前")); 在数组的最后位置添加一个元素,并返回长度 
    
 
    

              alert(obe); 
    
 
    

             alert(obe.pop());   移除数组中的最后一个元素  ,并返回被移除的那个元素 
    
 
    

              alert(obe);


数组的队列方法(先进先出),就是类似于无底的杯子中装了东西,再取出的过程



JavaScript 函数传入object数组 js把对象放入数组_运维_11

var obe=['ty',21,"我家门前"]; 
    
 
    

      alert(obe.shift());   移除数组中的第一个元素  ,并返回被移除的那个元素 
    
 
    

      alert(obe); 
    
 
    

      alert(obe.unshift("我家111"));   在数组的第一个位置添加一个元素 ,并返回长度 
    
 
    

      alert(obe); 
    
 
   

       数组中的排序方法 
   
 
   
reverse()倒序
 
   

             var box=[1,2,3,4,5]; 
    
 
    

             alert(box.reverse());返回一个倒序的数组 
    
 
    

             alert( typeof box.reverse());object类型 
    
 
   

             alert(box);原数组也被逆序了 
    
 
   
 sort()正序
 
   

             var box=[1,5,7,9,3,2]; 
    
 
    

             box.sort();从小到大排序 
    
 
    

              alert(box); 
    
 
   

       
   
 
  

    var box=[0,1,5,10,15]; 
  
 
  

    box.sort();   从小到大排序 
  
 
  

    alert(box);



如果是两个位数的话,它会以个位来排序(及默认会以字符串的数字排序),所以结果会是 0,1,10,15,5    为了解决以上问题,我们必须得告诉浏览器要以数字类型来排序,代码示例如下:



function compare(value1,value2){ 
   
 
   

             if(value1 
   
 
   

                 return -1; 
   
 
   

             }else if(value1>value2){ 
   
 
   

                 return 1; 
   
 
   

             }else{ 
   
 
   

                 return 0; 
   
 
   

             } 
   
 
   

         } 
   
 
   

     var box=[0,1,5,10,15]; 
   
 
   

      从小到大排序,将 compare传给sort()方法来达到数字的排序 ,只适合数组中本来就是数字的排序 
   
 
   

     box.sort(compare);   
   
 
   

     alert(box); 
   
 
  

    数组中操作方法 
  
 
  

      1.concat()方法,是在原来的数组中添加一个新的元素并创建一个新的数组 
  
 
  

       var box=['你好',123]; 
   
 
   

             var info=box.concat("世界"); 
   
 
   

                       alert(info); 是在原来的数组中添加一个新的元素并创建一个新的数组 
   
 
   

             alert(box); 原来的数组没有变化 
   
 
  

      
  
 
  

       2.slice()方法的用法,取值 
  
 
  

        var box=['你好',123,'世界']; 
  
 
  

            var info=box.slice(1);  从下标为1开始读取数据直到把该数组的值读完 
  
 
  

                     alert(info); 
  
 
  

      
  
 
  

     var box=['你好',123,'世界']; 
   
 
   

      //注意不是从第1个位置取3个,而是从第一个位置取到第3个位置(也就是不管从什么位置开始,都只取到第三个元素的地方) 
   
 
   

             var info=box.slice(1,3);  
   
 
   

             alert(info); 
   
 
  

    3.splice()方法的用法 
  
 
  

         a.筛选功能 
  
 
  

         var box=['你好',123,'世界']; 
  
 
  

            alert(box.splice(0,3));    //返回从第0个位置取3个元素 
  
 
  

         b.删除功能 
  
 
  

          var box=['你好',123,'世界']; 
   
 
   

          box.splice(0,2);//删除了从第0个位置取3个的元素 
   
 
   

             alert(box); //原对象只剩下’世界‘了 
   
 
  

         var box=['你好',123,'世界']; 
  
 
  

    //1,0的意思是从下标为1的位置开始不取值,  1,0,"真","好"代表的是从下标为1的位置开始插入数据 
  
 
  

           //box.splice(1,0,"真","好"); 
  
 
  

    //1,2的意思是从下标为1的位置开始截掉2个值,  1,2,"真","好"代表的是从下标为1的位置开始插入数据 
  
 
  

             box.splice(1,2,"真","好"); 
  
 
  

            alert(box); 
  
 
  

         d.替换功能 
  
 
  

          var box=['你好',123,'世界']; 
  
 
  

    //1,1的意思是从下标为1的位置开始截掉1个值,并以100来替换 ,其实和插入功能差不多 
  
 
  

    box.splice(1,1,100);//返回被删除的那一条 
  
 
  

    alert(box);