是否有一个 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()

iOS Obj-C 等价于 JavaScript 的 toString(16)

等价于 JavaScript 中的 continue 语句

JavaScript 等价于 PHP 的 preg_replace