是否有一个 JavaScript 等价于 Python pass 语句,它啥都不做?
Posted
技术标签:
【中文标题】是否有一个 JavaScript 等价于 Python pass 语句,它啥都不做?【英文标题】:Is there a JavaScript equivalent of the Python pass statement that does nothing?是否有一个 JavaScript 等价于 Python pass 语句,它什么都不做? 【发布时间】:2016-01-27 19:13:12 【问题描述】:我正在寻找与 Python 等效的 javascript:
pass
语句不运行...
表示法的功能?
JavaScript中有这样的东西吗?
【问题讨论】:
空大括号不是一回事吗?
@sagarchalise 这是真的
null
有时用于此目的,如if (condition) null;
你真的不需要。如果需要,只需添加评论。但实际上,在 JavaScript 中,您只需将其完全留空。
【参考方案1】:
Python 的pass
主要存在是因为在 Python 中,空格在块中很重要。在 Javascript 中,相当于在块中放置任何内容,即 。
【讨论】:
【参考方案2】:空块需要python的pass。
try:
# something
except Exception:
pass
在 javascript 中你可以简单地捕获一个空块
try
// some code
catch (e)
// This here can be empty
【讨论】:
【参考方案3】:我发现空括号出现错误,而是在其中放了一个分号,基本上是一样的:
try //something; catch (err) ;
【讨论】:
空括号里面没有分号会出现什么错误? 当从 html 中错误地删除换行符时 // 双斜杠 cmets 可以在其后注释所有内容。使用 /* */ 比使用斜线更好【参考方案4】:像python的pass
一样使用//pass
喜欢:
if(condition)
//pass
这相当于让块中没有任何内容,但出于可读性的原因是好的。
来自https://eslint.org/docs/rules/no-empty的参考
【讨论】:
当从 HTML 中错误地删除换行符时 // 双斜杠 cmets 可以在其后注释所有内容。使用 /* */ 比使用斜线更好【参考方案5】:不幸的是,Javascript 没有对应的 python pass
。
例如,在 javascript 中不可能做这样的事情:
process.env.DEV ? console.log('Connected..') : pass
相反,我们必须这样做:
if (process.env.DEV) console.log('Connected..')
使用pass
语句的优点之一是,在开发过程中,我们可以从上面的三元运算符示例演变而来,而不必将其变成完整的if
语句。
【讨论】:
这在Python中的工作方式完全相同,你不能在条件表达式中使用pass
,你必须使用条件语句【参考方案6】:
在某些情况下,pass
可以只是 ;
一个真实的例子可以是:
var j;
for (j = i + 1; j < binstrN.length && binstrN[j] != 1; j++)
let count = j - i;
与
相同var j;
for (j = i + 1; j < binstrN.length && binstrN[j] != 1; j++);
let count = j - i;
这里我们试图将j
移动到下一个'1',而i
在它之前已经是'1',因此count
给出了字符串二进制字符串@ 中前两个'1' 之间的距离987654328@
【讨论】:
【参考方案7】:如果你只想在三元运算符或 JS 的 if 语句中使用 pass 运算符,你可以这样做:
a === true && console.log('okay')
你可以使用也可以使用||运算符,但您应该知道 ||与&&相反。然后,如果您想像我们在 Python 中那样在函数或块中使用 Pass,如下所示:
def Func(): pass
在 JS 中,您应该将块留空,如下所示:
if()
console.log('ok')
else
最后,Python中没有大括号,所以这就是我们有pass的主要原因。
【讨论】:
【参考方案8】:我知道这是一个非常古老的问题,但我想也可以这样做。 您可以声明一个包含字符串(或其他内容)的常量。
const pass = 'pass';
const pass = null;
也可能不错。
if (condition)
pass
else
console.log('hi!');
但也请注意,这可能是更好的选择。
if (condition)
else
console.log('cool!');
Python 没有括号来确定代码块的位置,就像 javascript 一样,因此空块会引发错误(这就是您将 pass
语句放在空块中的原因)。我通过回答这个问题所做的只是使用它创建一个常量,就好像它是一个声明一样。这个概念非常接近 python 用省略号代替 pass。
python中的某些人更喜欢使用...
而不是pass
。
if condition:
...
else:
print('Python!')
【讨论】:
【参考方案9】:你可以创建一个实际上什么都不做的函数。
const pass = () =>
try
pass()
else
console.log('helloworld!')
【讨论】:
【参考方案10】:传递 if 语句的一种简单方法是输入字符串。 'pass' 更易读。
if(true)
'pass'
【讨论】:
以上是关于是否有一个 JavaScript 等价于 Python pass 语句,它啥都不做?的主要内容,如果未能解决你的问题,请参考以下文章
javascript 等价于 php unpack() 函数
JavaScript/jQuery 等效于 LINQ Any()
Javascript 等价于 python 的 .format()