时间:2021-05-26
1. 最后一个逗号
如这段代码,注意最后一个逗号,按语言学角度来说应该是不错的(python的类似数据类型辞典dictionary就允许如此)。IE会报语法错误,但语焉不详,你只能用人眼从几千行代码中扫描。
<script>
vartheObj={
city:"Boston",
state:"MA",
}
</script>
2. this的引用会改变
如这段代码:
<inputtype="button"value="Gotcha!"id="MyButton">
<script>
varMyObject=function(){
this.alertMessage="Javascriptrules";
this.ClickHandler=function(){
alert(this.alertMessage);
}
}();
document.getElementById(”theText”).onclick=MyObject.ClickHandler
</script>
并不如你所愿,答案并不是”JavaScriptrules”。在执行MyObject.ClickHandler时,代码中红色这行,this的引用实际上指向的是document.getElementById("theText")的引用。可以这么解决:
<inputtype="button"value="Gotcha!"id="theText">
<script>
varMyObject=function(){
varself=this;
this.alertMessage=“Javascriptrules”;
this.OnClick=function(){
alert(self.value);
}
}();
document.getElementById(”theText”).onclick=MyObject.OnClick
</script>
实质上,这就是JavaScript作用域的问题。如果你看过,你会发现解决方案不止一种。
3. 标识盗贼
在JavaScript中不要使用跟HTML的id一样的变量名。如下代码:
<inputtype="button"id="TheButton">
<script>
TheButton=get("TheButton");
</script>
IE会报对象未定义的错误。我只能说:IEsucks.
4. 字符串只替换第一个匹配
如下代码:
<script>
varfileName="Thisisatitle".replace("","_");
</script>
而实际上,结果是”This_isatitle“.在JavaScript中,String.replace的第一个参数应该是正则表达式。所以,正确的做法是这样:
varfileName="Thisisatitle".replace(//g,"_");
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
让我们看看我之前的文章:JavaScript的9个陷阱及评点,在第9点FocusPocus中提到的问题。原作者对这个认识有所偏差,其实不只是IE的问题,而是现有
分析javascript中9个常见错误阻碍你进步很多人尝试学习JavaScript,但是不久就放弃了。然后他们就告诉自己,“JavaScript太复杂了”,更有
避免蜘蛛陷阱。蜘蛛抓取很关键,但是要避免蜘蛛抓取陷阱问题,主要从SessionID、动态url、各种跳转、Javascript链接、强制cookies、会员制设
把最近设计的海报主图类的整理了一下,发出来给大家茶余饭后评点评点,电商人本来压力也大,进来释放一下吧!哈哈---------------------------
本文实例分析了Ajax异步提交数据返回值的换行问题。分享给大家供大家参考,具体如下:前面分析介绍了《Javascript基于AJAX回调函数传递参数》及《IE浏