是否要从Google Closure Compiler更改某些字符串?

问题描述 投票:1回答:1

具有此代码:

var a = 'Start';
var b = ' here';
return (document.querySelectorAll + "").toString().toLowerCase().indexOf(a + b) == -1;

在Google Closure编译器之后,此代码将是:

return (document.querySelectorAll + "").toString().toLowerCase().indexOf('Start here') == -1;

如何防止更改此字符串,因为我不需要indexOf'Start here'的参数,这非常重要,因为它恰好是'a + b'?我在此代码上方是否有特定的键,这些键会解释GCC无法编译此代码/字符串?

javascript google-closure-compiler
1个回答
0
投票

您可以使用experimental @noinline annotation,其中:

表示优化不应该内联的函数或变量。

要同时保留@noinlinea,请使用:

b

结果:

function x() {
  /** @noinline */
  var a = 'Start';
  /** @noinline */
  var b = ' here';
  return (document.querySelectorAll + "").toString().toLowerCase().indexOf(a + b) == -1;
}

function x(){var a="Start",b=" here";return-1==(document.querySelectorAll+"").toString().toLowerCase().indexOf(a+b)};

© www.soinside.com 2019 - 2024. All rights reserved.