如果您能指出我对该功能的更全面的文档,我会很感激.什么定义了if块的内容?是基于缩进吗?如果是的话,那会很有趣.
另外请注意,PHP中的if语句是否有类似于此语法的内容?我可以发誓,我已经看到他们在这里和那里被使用,但我找不到任何手头的例子.我只是疯了,它实际上不存在于PHP中,或者可以在PHP中使用那些类型的if块?在JS和PHP中,这样的if块是否也支持else?
似乎还有一个基于缩进的缩进以及基于单行的语法.关于以下内容,您能告诉我什么?
if(condition)do_some_statement();
谢谢
But why isn’t using that a good idea?
因为它很难维护.
Why can’t I find any formal documentation of it? Is it not part of the spec and standard?
当然是,见规范中的§12.5 – The if
Statement和§12 – Statements. if的正文是Statement.一种Statement是Block(§12.1),它允许将语句列表视为一个语句,但还有许多其他类型的语句.
Is it not widely supported?
通用.
Is it just because minification could break code using that Syntax?
一个好的minifier不会打破这种语法. (事实上,一个好的minifier会利用它.)
What defines the contents of the if block? Is it indentation based?
if语句的主体只包含它后面的语句,缩进在JavaScript中没有意义.所以这些都是等价的:
if (foo) bar(); charlie(); if (foo) bar(); charlie(); if (foo) bar(); charlie(); if (foo) bar(); charlie();
在上面,只有对bar的调用是以foo为条件的;无论如何都要叫查理.
这就是为什么我们有Block,这个语句引入了一个被视为一个单元的语句列表(一个块,你可能会说:-)):
if (foo) { bar(); } charlie(); if (foo) { bar(); } charlie(); if (foo) { bar(); } charlie(); if (foo) { bar(); } charlie();
然而,缩进对于人类来说很重要,因此保持一致的缩进是一个好主意.上面每一个中的第一个例子对于我们凡人来说可能是最清楚的(列出的那些). 原文链接:https://www.f2er.com/php/130810.html