最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript調(diào)試腳本的經(jīng)驗之談第1/2頁

 更新時間:2008年10月13日 18:31:46   作者:  
隨著用JavaScript編程的深入,你會開始理解那些JavaScript給出的不透明錯誤信息。一旦你理解了你常犯的一般性錯誤,你就會很快知道怎樣避免它們,這樣你寫的代碼中的錯誤將越來越少。
編程實際上是一種能隨著時間不斷飛快進步的技術(shù)。但是不管變得多么熟練,你仍然要花一些時間調(diào)試你的代碼。如果你做過家庭作業(yè),或有過JacaScript編程經(jīng)驗,你會知道相當多的時間是花在調(diào)試上。這很正常 - 這只是編程者必須做的事之一。實際上,按照大量的研究,程序員平均百分之五十的時間花在解決代碼中的錯誤。
關(guān)鍵是學會怎樣有效地調(diào)試你的程序。我有一些技巧可以幫助你解決程序為什么沒有象應該的那樣運行,或者幫你首先避免寫有很多錯誤的代碼:
  1.用不同方式打印出變量
  2.注意一般性錯誤
  3.編碼之前先想好
  --------------------------------------------------------------------------------
  如果JavaScript沒能捕獲你的錯誤,你也沒有通過查看代碼發(fā)現(xiàn)錯誤,有時打印出變量會對你有所幫助。最簡單的方法是象下面這樣使用一個alert():
  // theGreeting gets a name using getName, then presents
  // one or two alert boxes depending on what the name is
  //function getName()
  {
   var first_name = prompt("what's your first name?","");
   var last_name = prompt("what's your last name?","");
   var the_name = first_name + " " + last_name;
   alert("in getName, the_name is: " + the_name);
  }
  -----------------------------找到錯誤--------------------------------------------------
  1.一般性程序錯誤
  多數(shù)錯誤只是無聊的語法錯誤。記住關(guān)閉那些引號,大括號和小括號會花費很長時間,不過幸運的是 JavaScript自動錯誤檢測器能捕獲大部分此類錯誤。雖然JavaScript錯誤檢測器隨著日漸復雜的流覽器而不斷完善,但是一些錯誤仍會溜走。下面是一些需要留意的常見錯誤:
  2.混淆變量名或函數(shù)名
  大寫和復數(shù)變量和函數(shù)名產(chǎn)生的錯誤令人煩惱地經(jīng)常出現(xiàn),有時JavaScript錯誤檢測器不能捕獲它們。通過建立和堅持使用一種對變量和函數(shù)的命名協(xié)定,會大大減少這些麻煩的數(shù)量。例如,我全部用小寫字母定義變量,并用下劃線代替空格(my_variable,the_data, an_example_variable),用內(nèi)置符號表示函數(shù) (addThreeNumbers(), writeError()等)。我避免使用任何復數(shù),因為我總是忘記那些變量是不是復數(shù)。
  3.偶然地使用了保留字
  一些字不能作為變量名,因為它們已經(jīng)被JavaScript使用。例如,不能定義一個叫 “if”的變量,因為它實際上是JavaScript的一部分 - 如果使用“if”,你會遇到各種麻煩。當你因為使用命名為“if”的變量而變得瘋狂時,一個叫做“document”的變量是很誘人的。不幸的是,“document”是一個JavaScript對象。另一個經(jīng)常遇到的問題是把變量命名為“name”(窗體元素有“names”屬性)。把變量命名為“name”不會總出問題,只是有時 - 這會更使人迷惑 - 這就是避免使用“name”變量的原因。
  不幸的是,不同的流覽器有不同的保留字,所以沒有辦法知道該回避哪些字。最安全的辦法是避免使用已經(jīng)成為JavaScript一部分的字和HTML使用的字。如果你因為變量遇到問題,并且不能發(fā)現(xiàn)哪兒錯了,試著把變量改個名字。如果成功了,你或許就避開了保留字。
  4.記住在邏輯判斷時應該用兩個等號
  一些流覽器能捕獲這種錯誤,有些卻不能。這是一種非常常見的錯誤,但是如果流覽器不能替你指出來,你就很難發(fā)現(xiàn)。下面是一個這種錯誤的例子:
  var the_name = prompt("what's your name?", "");
  if (the_name = "the monkey")
  {
  alert("hello monkey!");
  } else {
  alert("hello stranger.");
  }
  這段代碼將產(chǎn)生“hello monkey!”警告對話框 - 不管你在提示里敲的是什么 - 這不是我們希望的。原因是在if-then語句中只有一個等號,這句話告訴JavaScript你想讓一件事等于另一件。假設(shè)你在提示中敲的是 “robbie the robot”。最開始,變量the_name的值是“robbie the robot”,但是隨后if語句告訴JavaScript你想把the_name設(shè)為“the monkey.”。于是JavaScript很高興地執(zhí)行你的命令,送一個“true”消息給if-then語句,結(jié)果警告對話框每次都出現(xiàn)“hello monkey!”。這種陰險的錯誤會使你發(fā)瘋,所以注意使用兩個等號。
  5.偶然給變量加上了引號,或忘了給字符串加引號
  我不時遇到這個問題。JavaScript區(qū)分變量和字符串的唯一方法是:字符串有引號,變量沒有。下面有一個明顯的錯誤:
  var the_name = 'koko the gorilla';
  alert("the_name is very happy");

相關(guān)文章

  • js模仿html5 placeholder適應于不支持的瀏覽器

    js模仿html5 placeholder適應于不支持的瀏覽器

    html5原生支持placeholder,對于不支持的瀏覽器(ie)可用js模擬實現(xiàn),不要走開,接下來為您詳細介紹實現(xiàn)方法
    2013-01-01
  • javascript中encodeURI和decodeURI方法使用介紹

    javascript中encodeURI和decodeURI方法使用介紹

    encodeURI和decodeURI是成對來使用的,因為瀏覽器的地址欄有中文字符的話,可以會出現(xiàn)不可預期的錯誤,所以可以encodeURI把非英文字符轉(zhuǎn)化為英文編碼,decodeURI可以用來把字符還原回來
    2013-05-05
  • JS 將字符串中指定字符全局替換的方法

    JS 將字符串中指定字符全局替換的方法

    JavaScript 中的 replace() 方法用于將字符串或其中的子字符串替換為指定字符,或替換一個與正則表達式匹配的子串,這篇文章主要介紹了JS 將字符串中指定字符全局替換,需要的朋友可以參考下
    2023-07-07
  • 判斷一個變量是數(shù)組Array類型的方法

    判斷一個變量是數(shù)組Array類型的方法

    JavaScript中如何判斷一個變量是數(shù)組Array類型呢?本文向大家提供一個比較不錯的方法,可以說是無懈可擊了
    2013-09-09
  • 原生js實現(xiàn)彈跳小球

    原生js實現(xiàn)彈跳小球

    這篇文章主要為大家詳細介紹了原生js實現(xiàn)彈跳小球,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 解決layer彈層遮罩擋住窗體的問題

    解決layer彈層遮罩擋住窗體的問題

    今天小編就為大家分享一篇解決layer彈層遮罩擋住窗體的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 用JavaScript和jQuery實現(xiàn)瀑布流

    用JavaScript和jQuery實現(xiàn)瀑布流

    本篇文章主要介紹了用JavaScript和jQuery實現(xiàn)瀑布流的方法,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • JavaScript 閉包深入理解(closure)

    JavaScript 閉包深入理解(closure)

    最近在網(wǎng)上查閱了不少Javascript閉包(closure)相關(guān)的資料,寫的大多是非常的學術(shù)和專業(yè)。對于初學者來說別說理解閉包了,就連文字敘述都很難看懂。撰寫此文的目的就是用最通俗的文字揭開Javascript閉包的真實面目。
    2009-05-05
  • layui 監(jiān)聽表格復選框選中值的方法

    layui 監(jiān)聽表格復選框選中值的方法

    今天小編就為大家分享一篇layui 監(jiān)聽表格復選框選中值的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Javascript 異步加載詳解(瀏覽器在javascript的加載方式)

    Javascript 異步加載詳解(瀏覽器在javascript的加載方式)

    本文總結(jié)一下瀏覽器在 javascript 的加載方式,需要的朋友可以參考下
    2012-05-05

最新評論

大新县| 西和县| 鹤庆县| 镇康县| 广饶县| 黔西| 四川省| 鸡西市| 民丰县| 黄石市| 明星| 长兴县| 中牟县| 马尔康县| 鄂托克前旗| 弥勒县| 南投县| 洮南市| 秭归县| 湘乡市| 永福县| 富源县| 巍山| 和田市| 陈巴尔虎旗| 茌平县| 壤塘县| 阳新县| 获嘉县| 新河县| 绥德县| 油尖旺区| 黄冈市| 东丰县| 和硕县| 康马县| 武胜县| 玉山县| 新巴尔虎左旗| 阳谷县| 乐亭县|