javascript学习-一

javascript学习-1
JavaScript  
  1  java脚本  错误 
     EAMCScript  
  2  不简单
  3  JavaScript 解释型语言 
      
     c c++ 编译型语言 
     javascript 解释型语言 
                解释器 
                
     java 先编译 在解释  ---- 跨平台                  


  4 浏览器(解释器)
     javascript 运行在浏览器中 
     javascript ---> html --- 运行在浏览器中 
     javascript 存在浏览器差异 
     js 
   
  5 javascript 语法错误 难找 
  
------------------------------------------------------
JavaScript  
  1 全面支持unicode编码
    java也是全面支持unicode编码 
      
    public class Person{
    
    }
    public class 人{
      private String 年龄;
    }
  
  2 弱数据类型编程语言 
  
    强数据类型编程语言  java
    
    String name = "suns";
    int age = 10;
    
    定义变量时必须明确指定变量类型 --- 强数据类型编程语言 
    定义变量时不需要指定变量类型 --- 弱数据类型的编程语言 
    
    var name = "suns";
    var age = 10;
    var b = true;
  
  
  3 javascript代码结构 
    java:
        public class Test{
          public static void main(String args[]){
          
          }
        }
        Test t = new Test();
        
    javascript:
      <head>
        <script type="text/javascript">
           
        </script>
      </head>
    
     document.writeln("hello world");
     页面输出文本内容 同时可以输出标签 
     window.alert(""); 报警对话框
     window对象可以省略
     
     
-------------------------------------------------------
javascript语法 
  1 数据类型 
    1)简单类型
       1 数字类型
          10 
          12.2
       
       2 字符串 
          java 'abc'  "abc"
          javascript ""  ''
       
       3 布尔  
          true     false  
           1         0  
           !null     null
           
           
           var name = "suns";
           if(name){
            alert("xxx");
           }
           
       4 特殊 
         undefined   未定定义 
           如果变量没有赋值进行使用,
           如果变量没有定义进行使用,
           那么这个变量的值是undefined 
           
           var name;
           alert(name);
           
           alert(name+"suns");
         
         
         null 空
          var name = null;
         
         
         NaN  Not A Number 
         
         "suns"/5  ----> NaN 
         "5"/5 ---> 1 
    
    2)对象类型 
       Object
       Function
       Array
       String
       Date
       Math
       Exception
  
    注意: 1 javascript允许重复定义变量名字 
             变量的值 以最后一个值为准 
           2 javascript出现多个同名变量 
             以非undefined的那个变量的值为准   
           3 定义变量时可以省略var 
             但是所定义的变量为全局变量 
           4 javascript 可以不为每行语句加入;
             解释器自动加入   
                 
             <script type="text/javascript">
                var name = "suns";
                    name = "suns";
             
                function add(){
                  var name = "suns";
                      name = "suns";
                }
             
             
             </script>    
                 
  
  
  2 运算符
     1 赋值运算 = 
       var name = "suns";
     2 算术运算符 
       1 + - * / % 
       2 +=  -=  *=  /=
         a+=2  a = a+2;
       3 ++   -- 
         i++ ++i
         i=0
         var a = i++   i=1 a=0
         var a = ++i   i=1 a=1
  
         注意: 字符串  "10"+10 ---> 字符串 
       
         parseInt("") ---- 整数;
         parseFloat("") ---- 小数 ;
         
     3 比较运算 
        > >= < <= == !=
        
        ==  值
        === 类型 ,值 
     
     
     4 逻辑运算 
        &&  ||  ! 
     
     5 3目运算 
       (1>3)? alert("ok"):alert("error");    
  
  3 表达式
       由运算符 和 变量 所构成的语句 
       
       var i = 10;
       var j = 20
       i+j;
       i>j
  
  
  4 流程控制
      3种  
      1 顺序流程 
      2 条件流程 
        if(){
        
        }
        if(){
        
        }else{
        
        } 
        if(){
        
        }else if(){
        
        }eles{
        
        }
        java: byte short int char 
             char i = 'a';
             char i = 97 ;
        javascript 数字,字符串     
        switch(){
          case xx:xxx break;
          
          default:
        }
        
    3 循环流程控制 
      while(xx){
        xxxx
      }
      java:
      for(int i=0;i<10;i++){
      }
      javascript
      for(var i=0;i<10;i++){
      
      }  
      do{
      
      }while();    
  
----------------------------------------------------
 javascript对象类型的数据 
   Function 函数 --- Java方法 
   
   java方法
     public int add(int i , int j){
       return i+j;
     }
     
  1通过function关键字定义函数  
     function add(i,j){
       var result = i+j;
       return result;
     }   
     function add(i,j){
       reutrn i+j;
     }
  
  2通过"构造"函数创建函数 (函数直接量)
   var fun = new Function("i","j","return i+j;");   
     
   fun(1,2);
   
  3匿名函数 
   var fun = function(i,j){
                return i+j;
             }; 
   fun(1,2);
  
   注意:  
      1  函数关键字 定义的函数 也是可以存储在变量内部 
      
      function add(i,j){
     return i+j;
    }
    //存储函数 
    var fun = add;
    //存入函数的运算结果(返回值)
    var fun1 = add(1,2);
     
     2 javascript 没有函数的重载 
       java重载 
         在一个类中,可以定义多个方法名字一直
         但是参数表不同的函数 
     
     3 arguments[] 
        能够获得 函数当前运行的实际参数值 
       function add(i,j){
         argments[0]
         argments[1];
       }
     
     4 typeof 准确获得简单数据类型
       
       var i = 10;
       typeof i  ----> number
       var i = "suns";
       typof i  ----> string  
       var i = true;
       typeof i ---- boolean  
       
       var o = new Object();
       var f = new Function();
       typeof o --- object
       typeof f --- object 
       
     5 function add(){
         alert("add");
       }  
       function del(f){
          f();
       }
       
       
------------------------------------------------------
    Object 类型的数据 
    概念:1  javascript中没有类 只有对象 
          2  javascript只有属性没有方法 
          3 javascript 3获得方式 
            a) new Object()
            b) JSON 
            c) 一切HTML标签 都是javascript对象   
    


    1 java中创建对象 
       public class Student{
         private String name;
         private String sex;
         方法
       }
       new Student();
    
    
    javascript创建对象的第一种方式 
       * javascript对象中不能定义方法
       var student = new Object();
           student.name = "suns";
           student.sex = "male";
           student.age = 10;
           student.show = function(){
                            alert("show");
                          };
           
           
           
           student.show();
           
           this关键字 
       
       var person = new Object();
       
       var account = new Object();
    
       
  * javascript创建对象的第二种方式
    JSON 方式创建对象 


    var student = new Object();
        student.name = "suns";
        student.getName = function(){
                              return this.name;
                           }




     var student = {
                     name:"suns", 
                     sex:"male",
                     age:10,
                     getName:function(){
                        return this.name;
                     }
                    };
     alert(student.name); 
     
   *  javascript对象
      一切html标签 也是javascript对象 
      <input type="text" name="name"/>
      inputObject.type ="text"
                 .name ="name"
      <table border="" cellpadding="" cellspacing="">           
   
-----------------------
  Array 数组    
     java数组  
       int[] i = new int[12];
       i[0] = 10;
       i[1] = 12;
       数组 
         1 java数组只能存储特定类型的数据 
           特例 
             Object[] i = new Object[12];
         2 数组一经初始化 数组长度固定
             
      javascript ---》Java ArrayList 
         1 可以存储所有类型的数据 
         2 可扩充
         3 数组的长度以最大的下标决定
           没有数值的位置 其值为undefined
          
      第一种 构造函数的方式创建 
      
         var a = new Array();
         a[0] = 10;
         a[1] = "suns";
      
      第二种 JSON
         var a = [10,"suns"];
        
   
      length 数组长度 
      
      数组的常用方法 
        pop();  从数组中删除最后以一个元素
        push(param); 往数组中加入最后一个元素 
        
        shift(); 从数组中删除第一个元素 
        unshift(param); 往数组中插入第一个元素 
        
        reverse(); 翻转数组内容 
        join(); 可以通过一个分隔符把数组中
                的元素连接成一个字符串 
        
        var a = [1,2,3,4,5];
        var string = a.join("-d-");
        1-d-2-d-3-d-4-d-5
        
        
        sort(); 排序 
                字符逐位对比
        
------------------------------------------
1 复习



   *        
  ***   
 *****
 
3 List<Use> users = new ArrayList<User>();
    u.id = 10;
    u.name = "suns";
    u.sex = "male"
    
    u1.id = 10;
    u1.name = "suns";
    u1.sex = "male"
    
    u2.id = 10;
    u2.name = "suns";
    u2.sex = "male"
    
      
JSON [] {}