这节视频中又个小问题

这节视频中又个小问题

typeof(id) === "string"?document.getElementById(id) : id;

这句话是不是这么理解:先判断id的值和类型,是string类型的话,那么久才用getElementById来获取id,否则的话就返回原来输入的值??

另外,这里“?”问号是什么语法呀,有点不理解

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

?: 是条件运算符,就相当于if...else语句。你的理解是对的。

typeof(id) === "string"?document.getElementById(id) : id;

上面这句就相当于:

function byId(id){
    if(typeof(id) === "string"){
        return document.getElementById(id);
    }else{
        return id;
    }
}

一些简单的条件运算用条件运算符比if...else...写起来更简单,而且也可以嵌入其它复杂表达式中。

  • 烁罡 提问者 #1
    非常感谢! 你能告诉这种条件运算符的语法么
    2017-05-28 21:06:22
  • 慕尼黑6819948 回复 提问者 烁罡 #2
    就是先计算 ? 前的表达式,如果结果是 true 最后的值就是 ? 和 : 之间的值,如果是 false 最后的值就是 : 后面的值。
    2017-05-28 21:53:19
  • 烁罡 提问者 回复 慕尼黑6819948 #3
    OK,懂得了!!腻害了!!
    2017-05-28 22:33:33
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师