JAVA SCRIPT 学习心得--更像血泪史

0 views
Skip to first unread message

大师傅

unread,
Sep 4, 2007, 4:21:47 AM9/4/07
to rails4scm
JavaScript虽然能出使得平庸的HTML频出'新招',但这个东西确实用着不太爽(至少经常出错),总结经验教训如下,以防大家夺走弯路:

1、JS的函数可以放到任何位置,只要在一页内能找到即可。

2、JS的主运行部分原则上也可以放在任何位置,但如果它用到页面组件,则JS脚本必须在该组件已经输出之后才可正常运行,也就是说
JS和其他的页面组件被IE作为相同的方式处理(按页面顺序输出、处理)

3、大量的标签属性,一般需要通过STYLE或者对应的CLASS定义来控制。许多属性对JS来说是只读的,必须详细看DHTML文档(微软)

4、组件的CLASS属性是可读可写的,前提是所有CLASS已经被导入。STYLE属性是只读的,要通过脚本改变STYLE而不使用CLASS,应当
使用
STYLE对象逐一赋值,例如 div1.style.fontWeight=XXX; div1.style.width=YYY;

5、在JS中取道的STYLE属性、cell.currentStyle.padding 等属性一般都是字符串,因此取得其数值进行计算时必须对字符
串进行分析
转换成数字类型再用(千万不能直接用!),否则一则类型不匹配不能出现正确结果,二来象长度、宽度等,直接取道的字符串中一般还
带有PX, % 等内容,直接转换甚至都不行,得出很怪的结果,都不知道错再了哪里。

6、由于JS不区分类型,因此最好定义变量后,先通过赋值的方式明确其类型,再放到表达式中使用。否则JS可能不动作(类型不对也不出错)

7、IE处理JS脚本错误的能力很差,例如出现NULL时并不报错,只是简单地不动作,因此调试非常麻烦。唯一的办法时将后台输出页面直接存贮为
HTML文件,然后在文件级别一一修改,预览,调试,再修改,再试,直到问题解决。直接改后台再调试不是好办法。

8、JS是大小写敏感的语言,而HTML不是,因此在使用JS 处理各种组件的属性时,特别注意拼写,否则不出错也不动,而且一个错导致全不执行!

Reply all
Reply to author
Forward
0 new messages