作者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