php – javascript的简明语法,如果语句没有大括号

如此务实,我对我正在寻找的东西有一个快速而肮脏的答案 here.但为什么不使用这个好主意呢?为什么我找不到它的正式文件?它不是规范和标准的一部分吗?它没有得到广泛支持吗?是否只是因为缩小可能会破坏使用该语法的代码

如果您能指出我对该功能的更全面的文档,我会很感激.什么定义了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();

然而,缩进对于人类来说很重要,因此保持一致的缩进是一个好主意.上面每一个中的第一个例子对于我们凡人来说可能是最清楚的(列出的那些).

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...