锁定老帖子 主题:残废的javascript
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-11-18
最后修改:2011-11-18
我几年前写过JS,但很长时间没用了,最近因为一些事情又要写JS,长时间没写JS,发现还真不顺手,处处陷阱。所以我发这个帖子收集一下javascript的一些陷阱,这样可以帮助大家快速避免这些容易遇到的问题。列举了一些,大家可以后面跟帖,我最后会整理到博文里。 1. trim() js是没有trim(),要实现,用正则吧。 2. array.remove(),js没有提供对数组的删除方法。我实现了一个: function arrayRemove(array,index){ if(index>=array.length){ return; } for(var i=index;i<array.length-1;++i){ array[i]=array[i+1]; } array[array.length-1]=null; --array.length; } 3. 获取HTML的自定义元素,firefox和IE不一样。 firefox不能直接: note.attribute. firefox/IE兼容的代码: note.attributes['photoName'].nodeValue 4. js居然木有replaceALL()!!!!。擦,需要自己实现: replace(new RegExp("等","gm"),"想"); 5. 又是一个IE陷阱: 这样写是无法提交表单的: <a href="javascript:;" onclick="form.submit();">提交表单</a> 需要这样: <a href="javascript:form.submit();">提交表单</a> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-11-19
LZ写的代码,Js性能还需要加强。
|
|
返回顶楼 | |
发表时间:2011-11-19
1. ie9与其它内核已自带
2. splice包罗万象 3. fx下用getAttribute 4. g标识符 5. 请模拟点击submit按钮 |
|
返回顶楼 | |
发表时间:2011-11-19
1. prototype是干啥的
2. 请查看Array的API 3. 通用 getAttribute 4. 回去查查正则的 igm 5. 无话可说 |
|
返回顶楼 | |
发表时间:2011-11-19
soni 写道 1. prototype是干啥的
2. 请查看Array的API 3. 通用 getAttribute 4. 回去查查正则的 igm 5. 无话可说 好吧,你写个简单的javascript就要先干这么多事情,那还是别写了,简单好点。 |
|
返回顶楼 | |
发表时间:2011-11-19
san_yun 写道 好吧,你写个简单的javascript就要先干这么多事情,那还是别写了,简单好点。 js简单?那是你以为的,我理解,楼主其实打心底里就没有那正眼看js |
|
返回顶楼 | |
发表时间:2011-11-20
果断投新手
|
|
返回顶楼 | |
发表时间:2011-11-20
虽说LZ的js比较业余,不过js难用也是事实。
|
|
返回顶楼 | |
发表时间:2011-11-20
slaser 写道 虽说LZ的js比较业余,不过js难用也是事实。
js支持原生正则。。。。replaceAll根本没什么问题,replace,第二个参数还可以回调方法——java里面不知道你要写多少行代码。。。 js的splice还不好用??php也没remove,这些语言只知道slice/splice,不知道你说的remove/putAll,不好用是因为你用不习惯而已 js的基础语法太灵活,不像java一样都考虑的方方面面(也有人因为java String没有capitalize方法而郁闷呢,需要commons-lang...),oo用好了也很强大,总之楼主若深入学习下js然后再回头看此贴更好 |
|
返回顶楼 | |
发表时间:2011-11-20
JS不是Java,为什么要提供Java的方法?如果拿JS中的一些长处和Java比,Java一样也是残废的。最起码java中的switch就不支持字符串(JDK1.7才开始支持)
|
|
返回顶楼 | |