首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用或检查一个if条件中是否未定义

使用或检查一个if条件中是否未定义
EN

Stack Overflow用户
提问于 2017-07-13 14:53:37
回答 3查看 42关注 0票数 0
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if(!parent[0] || parent[0].style.display !== 'none') {
    console.log('1');
}

我试着在一行中完成这项工作,但在Firefox中失败了,因为它给出了类型错误,即parent is undefined。但在这里,我正在尝试检查,如果是,就执行if循环。所以我把它一分为二的唯一解决方案是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if(!parent[0]) {
    console.log('1');
    return;
}

if(parent[0].style.display !== 'none') {
    console.log('1');
}

我怎么才能排成一行呢?为什么第一个代码失败,并指出父对象是未定义的,我如何才能防止这种情况,并只执行内部的控制台日志。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-07-13 14:55:22

这应该可以完成以下工作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if(parent[0] && parent[0].style.display !== 'none') {
    console.log('1');
}

使用someVariable && condition意味着定义了someVariable并且满足了条件。

在我看来,最易读的代码是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function doSomething() {
  // if condition is not met we quit the function
  if(parent[0] === undefined) {
    return false;
  }
  // parent[0] is defined we proceed
  // Perhaps other conditions that should quit the function
  if(parent[0].style.display === 'none') {
    return false;
  }
  // parent[0] is defined we proceed and all checks are done
  // All your logic here
}
票数 1
EN

Stack Overflow用户

发布于 2017-07-13 14:55:19

将逻辑更改为&&

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if(parent[0] && parent[0].style.display !== 'none') {
    console.log('1');
}
票数 0
EN

Stack Overflow用户

发布于 2017-07-13 15:11:37

所以我建议你试试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"style" in parent[0] ? parent[0].style.display == "none" ? console.log(1) : 0 : 0;

注意,如果display属性不是由javascript操作设置的,它将不会反映所请求的属性的状态。你将得到一个空字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45084255

复制
相关文章
PHP检查对象或类中是否存在属性
$obj = \app\common\library\Email::instance(); $obj->p=889; if(isset($obj->p)){ echo 66; }else{ echo 99; } die; isset既可以判断对象的属性是否存在,也可以判断数组的键名是否存在 未经允许不得转载:肥猫博客 » PHP检查对象或类中是否存在属性
超级小可爱
2023/02/20
4.2K0
【说站】js如何检查是否满足条件
1、every只有满足每个条件才能返回true,some是任何一个满足返回true的项目,filter过滤出所有符合条件的项目(找不到返回空)。
很酷的站长
2022/11/24
2.2K0
【说站】js如何检查是否满足条件
如何检查 MySQL 中的列是否为空或 Null?
在MySQL数据库中,我们经常需要检查某个列是否为空或Null。空值表示该列没有被赋值,而Null表示该列的值是未知的或不存在的。在本文中,我们将讨论如何在MySQL中检查列是否为空或Null,并探讨不同的方法和案例。
网络技术联盟站
2023/07/14
1.5K0
如何检查 MySQL 中的列是否为空或 Null?
如何检查 MySQL 中的列是否为空或 Null?
在MySQL数据库中,我们经常需要检查某个列是否为空或Null。空值表示该列没有被赋值,而Null表示该列的值是未知的或不存在的。在本文中,我们将讨论如何在MySQL中检查列是否为空或Null,并探讨不同的方法和案例。
网络技术联盟站
2023/08/03
3.4K0
如何检查 MySQL 中的列是否为空或 Null?
在bash脚本中如何检查一个命令是否存在
避免使用 which。它是一个外部进程,相对而言 hash、type 或 command 这样的内置程序执行效率更高,你还可以依靠内置程序来实际执行所需的操作,而且外部命令的效果很容易因系统而异。
程序熵
2023/09/25
4150
在bash脚本中如何检查一个命令是否存在
linux中检查或查找CPU信息
方法 1 - 检查 CPU 信息使用 `lscpu` 方法 2 - 在 Linux 中使用`/proc/cpuinfo`文件查找 CPU 信息 方法 3 - 查看处理器信息使用 `lshw` 方法 4 - 使用获取处理器详细信息 `dmidecode` 方法 5 - 查看 CPU 信息使用 `inxi` 方法 6 - 使用打印 CPU 信息 `hardinfo` 方法 7 - 使用 `hwinfo` 方法 8 - 使用 `cpuid` 方法 9 - 使用 `nproc` 方法 10 - 使用 `hwloc`
入门笔记
2022/06/02
6.3K0
linux中检查或查找CPU信息
育种中如何检查系谱是否有错误
这里推荐我写的R包learnasreml中的check_pedigree函数,简单好用,结果友好。能够检查:
邓飞
2021/12/12
2.8K0
如何检查一个对象是否为空
检查一个数组为空很容易,直接调用 length 方法即可,那么如何检查一个对象是否为空呢 ❓
JS菌
2019/04/10
4K0
如何检查一个对象是否为空
如何检查 Java 数组中是否包含某个值 ?
在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题。比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深入地研究一下。
用户7886150
2021/04/28
9.1K0
如何在 Python 中检查一个字符是否为数字?
在编程中,我们经常需要检查一个字符是否为数字。这种判断对于数据验证、文本处理和输入验证等场景非常有用。Python 提供了多种方法来检查一个字符是否为数字。本文将详细介绍在 Python 中检查字符是否为数字的几种常用方法,并提供示例代码帮助你理解和应用这些方法。
网络技术联盟站
2023/06/01
8.8K0
Javascript中对象如何检查key(键)是否存在
如果要特别测试对象实例的属性(而不是继承的属性),请使用hasOwnProperty:
IT工作者
2022/02/09
26.7K0
使用 shell(bash) 来检查 git 分支是否存在
不多说,直接上代码 localBranch=$(git branch|awk '{print $2}') if [ -n "localBranch" ]; then echo "存在该分支,并不进行创建" else echo "该分支不存在" fi
用户2353021
2020/05/11
3.6K0
JS中,如何检查对象是否为数组?
最近开源了一个 Vue 组件,还不够完善,欢迎大家来一起完善它,也希望大家能给个 star 支持一下,谢谢各位了。
前端小智@大迁世界
2021/02/02
7.2K0
JS中,如何检查对象是否为数组?
JavaScript 检查是否是数字
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/109551.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/05
1.1K0
LeetCode 2042. 检查句子中的数字是否递增
句子是由若干 token 组成的一个列表,token 间用 单个 空格分隔,句子没有前导或尾随空格。 每个 token 要么是一个由数字 0-9 组成的不含前导零的 正整数 ,要么是一个由小写英文字母组成的 单词 。
Michael阿明
2022/01/07
1.7K0
LeetCode 2042. 检查句子中的数字是否递增
Node.js中如何检查是否存在某个目录
Node.js fs本地模块提供了几种有用的方法,可用于处理目录。 检查Node.js中是否存在某个目录的最简单方法是使用fs.existsSync()方法。
ccf19881030
2020/10/29
11.9K0
js检查日期是否合法
检查日期是否合法 <script> function CheckDateTime(str) { var reg = /^(\d+)-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; var r = str.match(reg); if (r == null) return false; r[2] = r[2] - 1; var d = new Date(r[
江一铭
2022/06/16
6.4K0
js检查是否是数组
该方法兼容Chrome 5, Firefox 4.0, IE 9, Opera 10.5 和 Safari 5,详细兼容性,可以查阅这篇文章。
IT工作者
2022/01/27
3.4K0
JS检查是否支持Storage
查看效果:http://hovertree.com/code/html5/q69kvsi6.htm
全栈程序员站长
2022/07/15
2.9K0
点击加载更多

相似问题

检查双变量条件是否大于或等于?

31

循环,以检查条件是否良好,或重试。

10

如何检查类型是否在类型记录条件类型中未定义?

14

使用Knockout检查是否未定义

24

如何检查变量值是否未定义或‘’未定义‘’

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文