浏览 19262 次
锁定老帖子 主题:Javascript 中三元运算符的用法
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-09-21
三元预算表达式: Condition ? doSomething : doOtherThing ; 1. 同所有语言的三元运算一样,Javascript的三元运算同样支持Condition为Boolean类型的情况。当Condition为True的时候,执行doSomething,为False的时候执行doOtherThing。 2. 支持Condition为字符串。当Condition=“”的时候,等同于False,执行doOtherThing;当Condition!=“”的时候,等同于True,执行doSomething。 3. 支持Condition为对象。当Condition=undefined或者null的时候,等同于False,执行doOtherThing;当Condition!=undefined和null的时候,等同于True,执行doSomething。 目前我的总结就是发现了这3中使用方式,是否还有其他的使用方式还不知道。呵呵,不过就算是这样也让我减少了不少看Javascript代码时的疑惑! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-09-21
tomkoo 写道 一直来都对Javascript的三元运算符很迷惑,不知道究竟应该怎么用,大概是受了例如Java这样的语言的影响,总是觉得三元运算符的条件表达式必须返回Boolean类型。就是这个东西让我对Javascript的三元运算符迷惑了许久,今天终于忍受不下去了,于是自己写代码测试了一番,原来它是这样的。
三元预算表达式: Condition ? doSomething : doOtherThing ; 1. 同所有语言的三元运算一样,Javascript的三元运算同样支持Condition为Boolean类型的情况。当Condition为True的时候,执行doSomething,为False的时候执行doOtherThing。 2. 支持Condition为字符串。当Condition=“”的时候,等同于False,执行doOtherThing;当Condition!=“”的时候,等同于True,执行doSomething。 3. 支持Condition为对象。当Condition=undefined或者null的时候,等同于False,执行doOtherThing;当Condition!=undefined和null的时候,等同于True,执行doSomething。 目前我的总结就是发现了这3中使用方式,是否还有其他的使用方式还不知道。呵呵,不过就算是这样也让我减少了不少看Javascript代码时的疑惑! 这样的理解是舍本求末,你应该去看看js中各个原始类型的包装类,他们各自的特点以及相互的关系,转化的默认规则。要不,碰到同一个知识点的下一个应用,你又需要做各种实验来验证自己的建立在经验之上的想法了。 |
|
返回顶楼 | |
发表时间:2006-09-21
这些都是 javascript中的一些基础概念。本身javascript及时类型不严格的一中脚本语言 。在合适的地方,它会将自动进行类型转换 。
在三元表达式中,第一个表达式需要一个bool类型的表达式 。那么 在这里的类型都需要被转换成bool类型。undefined,null,0,""都会被转换成 false。 弄清楚了原理,理解起来就很容易了。 |
|
返回顶楼 | |
发表时间:2006-09-22
谢谢楼上两位的提点,受益匪浅!
|
|
返回顶楼 | |