`
coding1688
  • 浏览: 236735 次
  • 来自: 上海
社区版块
存档分类
最新评论

JS编程要当心null和"null",尤其是后面那个

阅读更多

  在调试一个带下拉列表的表单程序时,发现一个问题,这个表单是用dialog来显示的,当第一次打开dialog时,select不能够显示当前选项,而再次打开时能够正确显示了,而且这个问题能够重复。

 

  select 的选项是用ajax加载的,只加载一遍;表单的数据也是用ajax加载,每次打开dialog时都重新加载。通过在js中增加日志输出,发现第一次打开 dialog时,表单数据先加载完成,而select选项后加载完成。这样会导致一个问题,将表单数据中的对应select的值设置到select时,肯 定是无法保存的,因此又增加了一个全局变量来保存表单数据;当加载select数据的ajax调用返回后,取select的当前值,如果没有当前值,则使 用已保存的全局变量中的值,然后重新构造select的option选项。当第一次打开表单对话框时,显示select当前选项为空,js日志输出当前值 为null,实际上应该是有值的。而后来再打开表单对话框时,显示select为正确的值。

 

  仔细检查了代码之后,发现select默认有个选项,其值为null,代码为:<select><option value="null"></option></select>。这就可以解释上面的现象了,js日志输出的null是 字符串null,而不是js那个null对象。将null去掉之后程序就正常了:<select><option value=""></option></select>。

 

  类似的问题也可能发生的Java,因为有时候字 符串String为null,有时候又可能为"null",而输出的结果都一样,很难分辨,容易造成一些潜在的问题。这可以说是Java在设计时的一个问 题,而C/C++似乎就好一些,字符串0指针打印的值为(null),加了小括号这样就能通过输出清楚地分辨出来。

 

 

5
0
分享到:
评论
1 楼 daodejing 2013-01-20  
在js中,undefined,null,"","null","undefined"," "这些特殊的东西有时候会扰乱人脑子一阵的

相关推荐

    GE90-70可编程控制器使用手册

    9. 安全和警告标识:手册强调了使用危险标识(如警告、当心和注意)来突出潜在危险,确保用户在安装和操作PLC时能够意识到设备的安全风险。 10. 信息变更与责任:手册也明确指出,信息可能会变更,且GE Fanuc ...

    GE_编程指令手册

    - **可编程协处理器模块**: 介绍系列90™可编程协处理器模块的功能和使用方法。 #### 八、通讯接口与协议 - **Genius通讯模块**: 用于系列90™-30 PLC之间的通讯,支持高速数据传输。 - **FIP总线**: 一种用于连接...

    西门子s7-200编程手册.doc

    通过以上内容可以看出,《西门子S7-200编程手册》是一份非常全面且实用的指导文档,不仅包含了S7-200系列PLC的基本操作和编程方法,还涉及到了大量的实际应用案例和技术细节,对于从事自动化控制领域的工程师和技术...

    OOPgame:跳起来收集硬币,但要当心障碍! 一个配对编程项目,仅使用面向对象的编程在JS和Canvas中构建交互式游戏

    我们有两天的时间使用面向对象的编程体系结构来计划和构建JavaScript游戏。 在一个配对中,我们在代码学院训练营的第5周完成了该项目,以练习JavaScript,OOP,类和画布的动手操作。 我们确实竭尽全力,为构建交互式...

    代码风格与编程规范-Programming Style

    一致性是编程规范的关键。团队成员应遵循统一的代码格式,包括缩进、空格、注释样式等。此外,应遵循语言特定的惯用法,如Python中的PEP 8,Java中的Google Java Style Guide,这些指南提供了详细的编码规则和最佳...

    多线程编程指南

    - **4.4.4 当心死锁(Deadlocks)和活锁(Livelocks)**:避免这两种常见的同步问题。 - **4.4.5 正确使用Volatile变量**:理解Volatile变量的作用及使用场合。 ##### 4.5 使用原子操作 原子操作可以简化同步逻辑,...

    给宝宝添加辅食一定要当心四“过”.pdf

    给宝宝添加辅食一定要当心四“过”.pdf

    高招季来临:诈骗招数套路多,这些招数要当心!.docx

    高招季来临:诈骗招数套路多,这些招数要当心!.docx

    玩这些新奇玩具要当心

    这种气球通常由透明的外层和内层小气球或羽毛组成,通过LED灯带或塑料杆牵引。虽然美观,但问题在于许多商贩为了降低成本,会使用氢气代替氦气充气。由于氢气易燃易爆,且已被国家禁止使用于气球充气,因此这类气球...

    90-30可编程控制器安装和硬件手册_GFK-0356Q.pdf

    在本节中,我们详细解读了GE Fanuc Automation公司出版的《90-30可编程控制器安装和硬件手册_GFK-0356Q》的内容,涵盖了90-30系列可编程控制器的安装、硬件组成以及相关的安全指导原则。手册中使用的警告、当心和...

    iOS开发多线程编程指南

    iOS开发多线程编程指南是Apple官方提供的一个多线程编程的详细教程,涵盖了在iOS平台上进行多线程编程的基本概念、设计技巧、线程管理和同步工具等方面的全面知识。对于希望在iOS平台上开发高性能应用的开发者来说,...

    S7-300400LAD编程手册

    - **适用对象**:面向S7程序员、操作员以及维护/维修人员,要求具备自动化技术的基本知识,并熟悉计算机应用,尤其是使用MS Windows 2000专业版或MS Windows XP专业版操作系统的工作设备。 #### 二、基础知识要求 -...

    手镯赝品多是玻璃制品购买需要当心.ppt

    手镯赝品多是玻璃制品购买需要当心.ppt

    当心购房踩.doc

    当心购房踩.doc

Global site tag (gtag.js) - Google Analytics