Javascript複習必記知識點

來源:互聯網
上載者:User

1,解釋型語言 和編譯型語言
   編譯型:
   先講我們編寫的代碼,轉換成電腦能夠讀懂的位元組碼,然後將將這些位元組碼儲存起來,產生一個可執行檔,當下次需要的時候直接執行這個可執行檔(JAVA, c)
   
   解釋型:
   先講我們編寫的代碼,轉換成電腦能夠讀懂的位元組碼,然後並不是儲存起來產生可執行檔,而是直接執行(php,javascript)
   
   
   2,javascript的變數範圍
   全域範圍:javascript可執行檔所有範圍都起作用
   
   局部範圍:當前函數內起作用
   舉個例子:
   如果函數內部定義了和函數外部相同的變數,函數內部操作的是局部範圍的變數,函數外部操作的全域範圍的變數
   
          varv = 'global';
          functionf1(){
                 varv = 'function';
                 alert(v);
          }
          f1();
   
   ②    var v = 'global';
          functionf1(){
                 alert(v);
                 varv = 'function';
          }
          f1();
   
   為什麼是undefined?
   Javascript代碼執行流程:
   Javascript代碼整體上是按照html文檔流執行,但是也並不是完全按照,而是優先執行函數,這時函數內部的局部變數暫時設定為undefined
   
  3③
          varv = 1;
          functionf1(){
                 v+= 1;
                 alert(v);
          }
          f1();
          f1();
   
   Javascript的資料類型:(8大資料類型)
   基礎資料型別 (Elementary Data Type)(未經處理資料類型)
   Undefined
   聲明了但是未初始化(第一次賦值)
   函數沒有傳回值
   Null
   未找到的(未定義的對象),一個對象
   Boolean
   True,false
   Number
   整數和小數都是數實值型別
   String
   Javascript是基於對象的語言,因為他沒有類的概念
   所有的資料都是對象,
   人----對象   俄羅斯人 ,美國人中國人是類型
          varstr = 'hello world';
          varstr2 = 'nihao';
          //alert(str.length);
          //alert(str.concat(str2));
          alert(str.toUpperCase());//驗證碼不區分大小寫時候
          alert(str.substr(2,3));//參數1,待截取的字元的索引,參數2,截取的長度
   
   對象資料類型(引用資料類型)
   1,數組
          //獲得數組
          vararr = ['xiaobai',123];
          vararr2 = new Array('xiaohei',456);
          //引用資料類型(引用的是同一個地址)
          vararr3 = arr2;
          arr2.push('hello');
          //alert(arr3);
          varstr = arr2.toString();
          alert(typeof(str));
   for ...in
          //遍曆數組的元素
          vararr = ['zhangsan','lisi','wangwu','zaholiu'];
          vari;
          for(iin arr){
                 alert(arr);
          }
   
   2,對象
     獲得對象
   (1)new Object()
   (2)通過構造器(建構函式獲得對象)
          //通過建構函式(構造器)獲得對象
          function student(){
                 this.name="wanger";
          }
          var obj = new student();
          alert(obj.name);
   說明:構造器就是一個普通的函數,只是當我們通過new函數名()來調用的時候,獲得一個對象,這時候這個函數就稱之為建構函式,建構函式內部通常使用this來代表當前的對象
   (3)json  {}
          varobj = new student();
          alert(obj.name);
          //通過json快捷文法來獲得
          varobj2 = {'name':'zhangsan'};
          alert(obj2.name);
   
   Javascript 內建對象
   作業:比較floor   ceil   round 區別
          varnum = 0.123;
          alert(Math.ceil(num));  //1
          alert(Math.round(num));//1
          alert(Math.floor(num));//0
   
   隨機點名:
  
   
   Date對象數字時鐘
   
  
   
  函數對象
          //函數是一個值,因為我們可以用一個變數來儲存,通過變數(函數名)來找到這個函數
          varf1 = function(){
                 alert('hello');
          }
          f1();
          alert(typeof(f1));
   
   Alert()
   Window.alert();
   函數範圍鏈:
   從最低級向上一級尋找的過程
   
   函數的參數:
   函數的參數在調用時和聲明時,參數個數可以不一致,因為在函數內部有一個專門管理函數參數的對象,這個對象可以獲得真實的參數
   求函數參數的和
   function f2(n1,n2,n3,n4){
                 alert(arguments[1]);
          }
          f2(1,2,4,5);
   
   confirm
   <p id="p1">刪除我吧</p>
   <scripttype="text/javascript">
          //alert(confirm('確認要刪除嗎'));
          //獲得使用者點擊哪個按鈕(確認還是取消),確認返回true取消返回false
          if(confirm('確認要刪除嗎')){
                 document.getElementById("p1").innerHTML='';
          }
   </script>
   
   猜數字
   alert(prompt('請輸入數字',2));
          //隨機產生一個數字
          //讓使用者輸入的數字和隨機產生的進行比較
          //規定次數
          varrandom = Math.random()*100;
          varinput = prompt('請輸入數字',2);
          if(input<random){
                 alert("你猜的數字太小了");
          }elseif(input>random){
                 alert("你猜的數字太大了");
          }elseif(input==random){
                 alert("恭喜你猜對了");
          }
   
   
   Eval() 函數會將函數的參數當作js的運算式來運行
   例如eval(‘1+2’)結果是3
   在input表單中,如果是text  password這種輸入類型的文字框的話,size屬性規定使用者可以輸入的字元個數
   如果是其他的屬性的表單的話,size表示所佔像素的大小
   
  注意:
   獲得標籤的內容用innerHTML
   獲得表單的值 用value
   
  計算機
   核心代碼
          /*
                 獲得使用者輸入的數字綁定onclick事件
                 開始運算
                 求結果
          */
                 varflag = true;
                 functiongetNum(num){
                        if(!flag){
                               document.getElementById('res').value= '';
                               flag= true;
                        }
                        document.getElementById('res').value+= num;
                 }
                 functiongetRes(){
                        varnum = document.getElementById('res').value;
                        num= eval(num);
                        document.getElementById('res').value= num;
                        flag= false;
                 }

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.