为了账号安全,请及时绑定邮箱和手机立即绑定

请帮解释一句代码。谢谢

请帮解释一句代码。谢谢

undertale 2016-08-04 15:09:26
今天在学习openlayers时看到这样一句代码其中 !== undefined ? 是原生JS写法吗? 有点看不懂
查看完整描述

8 回答

已采纳
?
snowmanJS

TA贡献89条经验 获得超53个赞

    这个是三元操作符,格式为:变量=条件?值1:值2。执行过程是这样的:如果条件为真,则将值1赋值给变量;反之,将值2赋值给变量。例如:var txt = 5>2 ? "hello" : "javascript"; 显然5>2为真,所以这时txt = "hello"

var zoomInTipLabel = options.zoomInTipLabel !== undefined ? options.zoomInTipLabel : 'zoom in';的意思是:如果options.zoomInTipLabel不恒等于undefined,那么就将options.zoomInTipLabel赋值给变量zoomInTipLabel;反之,将'zoom in'赋值给变量zoomInTipLabel。

查看完整回答
2 反对 回复 2016-08-05
?
夜空中最亮的星0

TA贡献1条经验 获得超0个赞

这个三目运算符,就相当于if(){}else{};?前面的是判断条件,后面就是要执行的代码

查看完整回答
反对 回复 2016-08-16
?
易米八午

TA贡献3条经验 获得超2个赞

!== undefined

如果这句话为true的话,就说明,options里面的zoomInTipLabel属性未定义,也就是还不包含这个属性。

!==与undefined比较不是说等不等于的问题,因为它和===全等()一样,它很关心左右两边的值得类型是否一致,如果我现在左边options.zoomInTipLabel = 'undefined',options.zoomInTipLabel  !== undefined 也是返回true,说明他们不全等,undefined说明变量没有声明 或者声明了没有初始化。属性定义的时候是必须要赋予一个初值的,所以它只有可能是尚未定义。


如果你感觉答案有帮助,请采纳一下

查看完整回答
反对 回复 2016-08-06
?
qq_二冬_0

TA贡献8条经验 获得超7个赞

这是一个三元表达式吧,给表里zoomInTipLabel赋值,如果options.zoomInTipLabel 不等于 undefined,那么就执行接下来的语句,如果 等于 就执行:后面的语句。

?前是一个判断方式,如果为真就接着执行,如果不为真就执行:后的语句。

if(options.zoomInTipLabel!==undefined){  
    options.zoomInTipLabel;             
   }else{
   Zoom in;//
   }


查看完整回答
反对 回复 2016-08-05
?
慕粉3769977

TA贡献16条经验 获得超7个赞

是原生js。 js中有两种写法,一种是两个字符,比如==,!=,>=。 还有就是三个字符的,比如===,!==,>==。 三个字符表示严格意义上的相等,必须是类型和值都相等才为真。1==“1”为true, 1===“1”为false

查看完整回答
反对 回复 2016-08-05
?
田心枫

TA贡献1064条经验 获得超383个赞

判断某个值是不是为定义的

查看完整回答
反对 回复 2016-08-04
  • 8 回答
  • 0 关注
  • 2051 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信