javascript學習中的常見問題總結

時間:2024-07-30 05:40:09 JavaScript 我要投稿
  • 相關推薦

javascript學習中的常見問題總結

  1、JS中方法和變量都是區分大小寫的

javascript學習中的常見問題總結

  2、單引號、雙引號

  在JS中沒有特殊的區別,都可以用來創建字符串。但作為一般性規則,大多數開發人員喜歡用單引號而不是雙引號,但是XHTML規范要求所有屬性值都必須使用雙引號括起來。這樣在JS中使用單引號,而對XHTML使用雙引號會使混合兩者代碼更方便也更清晰。

  單引號可以包含雙引號,同理,雙引號也可以包含單引號。

  3、括號

  首先需要說明的是:JS中括號包含兩種語義,可以是分隔符也可以是表達式。

  a、分隔符大家非常熟悉(1+3)*3等于12

  b、(function(){})();function之前的一對括號作為分隔符,后面的括號表示立即執行這個方法。

  4、函數調用和引用

  因為括號代表執行,所以:

  var foo=example(); foo表示函數的返回值

  var foo1=example; 將函數引用賦給一個值foo1

  5、重載

  JS不支持重載,因此這里所說有重載其實更類似于替換

  JS不區別參數個數

  6、作用域、閉包

  作用域指對某一屬性或方法具有訪問權限的代碼空間。如:

  復制代碼 代碼如下:

  function myFunction(){

  var temp="abc";

  }

  上面的temp在函數外面無法訪問。

  閉包是與作用域相關的一個概念,它指的是內部函數即便在外部函數執行完成并終止后仍然可以其外部函數的屬性。

  下面我們就作用域和閉包來舉個例子:

  我們建立如下html頁面:

  復制代碼 代碼如下:

  function init(){

  for(var i=1;i<=3;i++){

  author=document.getElementById("author"+i);

  author.onclick=function(){

  alert("author"+i);

  }

  }

  }

  window.onload=init;

  abc

  abc

  abc

  運行結果:

  pic

  可以看到,這并不是我們想要的。

  進行修改后,關鍵代碼如下:

  復制代碼 代碼如下:

  function init(){

  for(var i=1;i<=3;i++){

  author=document.getElementById("author"+i);

  registerListener(author,i);

  }

  }

  function registerListener(author,i){

  author.onclick=function(){

  alert("author"+i);

  }

  }

  window.onload=init;

  這樣,我們就得到了我們想要的結果。

  這是因為init每次調用都產生function的一個實例,每個實例里都維護了一個新的i

  而對于匿名函數的上一級已經有這個i,而且已經和init里的i不一樣了。

【javascript學習中的常見問題總結】相關文章:

JavaScript學習筆記08-24

JavaScript中的with關鍵字07-24

在Java中執行JavaScript代碼07-14

Javascript中typeof 用法歸納09-27

淺談如何深入學習Javascript中的this關鍵字08-19

少兒英語學習中的常見問題07-02

抽象語法樹在JavaScript中的應用08-18

JavaScript中的三種對象10-24

perl- javascript中class的機制05-03

少兒學習英語過程中的常見問題07-24

亚洲制服丝袜二区欧美精品,亚洲精品无码视频乱码,日韩av无码一区二区,国产人妖视频一区二区
视频一区二区中文字幕 | 日韩国产亚洲欧美不卡观看 | 亚洲第一区欧美国产综合86 | 欧美大香线蕉线伊人久久 | 中文字幕福利视频 | 色偷偷网站一区二区三区 |