- 主题:some js in SpiderMonkey ..
这个情况下,规范是如何定义该如何处理的?
【 在 Goofect (1 Win TO GO!) 的大作中提到: 】
: 不符合规范,各家自己怎么处理都说得通
--
FROM 221.219.115.111
lexical structure规范里规定好了的.
FunctionDefinition不会出现在if else这类东西内部.如果出现了,各家怎么处理只能算附赠了.
FunctionExpression就可以.
以前的js是这样,新版本的没看过,不知道...
【 在 sly9 (= =b) 的大作中提到: 】
: 这个情况下,规范是如何定义该如何处理的?
--
FROM 210.192.100.*
刚问了下某大牛,得到的答复是谁这么往项目里写就 tjjtds...
【 在 sly9 (= =b) 的大作中提到: 】
: firefox在做语法分析之后就改变了js函数的内容,比如某些无论如何都执行不到的block就被删除掉了
: 但我记得好像之前还有谁研究过在function里头写特定的注释来完成某些逻辑的,那这些逻辑可能就会被firefox的优化破坏掉。。
--
修改:PerfectWorks FROM 123.115.83.*
FROM 123.115.83.*
问题是...tjjtds没有加入规范亚...所以碍不住某些人喜欢这么写
【 在 PerfectWorks (晓来雨过 遗踪何在 一池萍碎) 的大作中提到: 】
: 刚问了下某大牛,得到的答复是谁这么往项目里写就 tjjtds...
--
FROM 114.94.193.*
...发现我猜不出会执行成什么样子
因为从来都是匿名函数用到死……
【 在 shaolin (叶孤城|漫漫当爹路) 的大作中提到: 】
: code 1:
: if(true) function b(){alert(1);}
: else function b(){alert(2);}
: ...................
--
FROM 221.221.215.229
嗯是我……
话说写好之后从来就没用过啊我靠!
【 在 sly9 (= =b) 的大作中提到: 】
: 对对。。
--
FROM 221.221.215.229
没错
... Also, an ExpressionStatement cannot start with the function keyword because that might make it ambiguous with a FunctionDeclaration.
其他的xxx Statement就更别说了。
新版本也是这样,而且特别说:
NOTE Several widely used implementations of ECMAScript are known to support the use of FunctionDeclaration as a Statement. However there are significant and irreconcilable variations among the implementations in the semantics applied to such FunctionDeclarations. Because of these irreconcilable difference, the use of a FunctionDeclaration as a Statement results in code that is not reliably portable among implementations. It is recommended that ECMAScript implementations either disallow this usage of FunctionDeclaration or issue a warning when such a usage is encountered. Future editions of ECMAScript may define alternative portable means for declaring functions in a Statement context.
【 在 Goofect (1 Win TO GO!) 的大作中提到: 】
: lexical structure规范里规定好了的.
: FunctionDefinition不会出现在if else这类东西内部.如果出现了,各家怎么处理只能算附赠了.
: FunctionExpression就可以.
: 以前的js是这样,新版本的没看过,不知道...
--
FROM 123.118.111.*