作者iam87king (沉默傷心)
看板Ajax
標題[問題] js Function位置問題
時間Wed Jun 9 00:07:42 2010
最近用了一個檢測js碼的service,發現被提了好多warning XD
幾個印象比較深的提出來跟大家分享一下
1.parseInt
平常習慣就是直接 var num = parseInt("123");
後來才發現原來parseInt第二個參數不填也會被報warning
所以嚴謹一點的寫法應該是這樣 var num = parseInt("123", 10); 10就是10進位
2.逗號問題
我也不知道為什麼這樣有問題
var context = { "a" : "Hello", "b" : "Reject", "c" : "Good Night"
,"d" : "Nothing", "e" : "Ajax"};
改成這樣就沒有出現warning了
var context = { "a" : "Hello", "b" : "Reject", "c" : "Good Night",
"d" : "Nothing", "e" : "Ajax"};
雖然都可以run,我也不知道到底差在哪
3.Function 位置
假設有二個Function
Function initPage(){
sayHello();
}
Function sayHello(){
alert("Hello");
}
我知道這樣也是可以執行,但它還是說你的sayHello在被呼叫時尚未定義
所以想請問一下Function在被呼叫時尚未定義會不會造成什麼潛在的影響?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.217.244.236
1F:推 ybite:1. 這是設計陷阱問題,parseInt()會把0開頭的數字當成八進位 06/09 01:51
2F:→ ybite: ex:parseInt("015") = 13, 所以才要強制10進位 06/09 01:52
4F:→ ybite:裡頭有提到,2應該是為了避免行尾加分號時誤加造成的問題 06/09 01:57
5F:→ ybite:3是為了增加程式的可讀性,都只是方便閱讀和編輯的styling 06/09 01:57
6F:→ TonyQ:嘖嘖 被迫梗了 XD 06/09 02:11
8F:→ j100002ben:parseInt是老問題吧.... 06/09 06:55
9F:推 mesak:可以提供是哪個網站在檢測嗎? 06/09 13:41
10F:→ grence:jslint heart your feelings..XD 06/09 19:34
11F:→ iam87king:樓上正解 06/09 20:58