开发过程中"诡异"事情

首先声明,技术永远没有诡异的事情,一切时期都有其原因的,借用一位同事的话说“很简单,那是你代码写错了!”

一、JS解析XML文档找不到相应节点。
<Companys>
      <Company Name="宝安">
            <Description>深圳移动宝安分公司</Description>
      </Comany>
</Companys>

以上是一个非常标准的XML文档,但当我用JS把该文档加载进来后,执行  var company = doc.selectSingleNode('//Company/[@Name="宝安"]'); 时,获取的对象却用于为null。郁闷了半天,原来是<Company Name="宝安">节点用了 Name 作为属性名,可能跟XML的内部机制有关吧,造成冲突,以至一直拿不到该节点,改成其它如<Company ShortName="宝安">,问题解决。
所以,最好不要用"ID",这类"关键字"作为属性。

二、js小知识点------关于parseInt("08") 显示不正确的问题[转]

js中认“0”开头的字符串为8进制的。所以当我们用parseInt("01")~~~parseInt("07") 的时候都是正确的。而到parseInt("08")~parseInt("09")的时候就出错了。
解决方法 paseInt("08",10) 设置第2个参数指定所用的进制转换

三、js文件编码问题
写了一个函数,例如很简单的function Test(){ var name='中国';switch(name){ case '美国': alert('美国');break;default:alert('中国');braak;}},将它放在a.js文件中调用该函数时是活就是为定义,但放在b.js文件中却一点问题也没有。后面在网上找了一下,说是js文件中的字符编码问题。
解决版本,引用时加入字符集设置,如<script src="/a.js" type="text/javascript" charset="GB2312"></script>

四、待添加。。。

posted @ 2007-05-11 00:14  stu_acer  阅读(229)  评论(0编辑  收藏  举报