【问题标题】:Javascript error : invalid assignment left-hand sideJavascript 错误:左侧分配无效
【发布时间】:2013-10-01 15:39:54
【问题描述】:

在 Acrobat XI 中使用 javascript。由于某种原因,我不断收到以下错误:

invalid assignment left-hand side at 9: line 10

我的代码非常简单,在 AFAICT 上看起来很不错。请检查并告诉我我没有疯。 (或者告诉我我是,但你有一个解决方案:))

function jsNetworkAccount()
{

    // Get a reference to each check box
    var f1 = getField("cbNetworkNotNeeded");
    var f2 = getField("cbNetwork");
    var f3 = getField("cbEmailAccount");

    if (event.target === f1 && event.value = "On") {

           f2.value = "Off";
           f3.value = "Off";
           return;
    }

    if (event.target === f2 || event.target === f3 && event.value = "On") {

           f1.value = "Off"
           return;

    }    
}

【问题讨论】:

  • -3 嘘。这是一个关于 javascript 中平等的合理问题,似乎没有完全的意义。请参阅下面的答案和 cmets。
  • 这不是关于平等的问题,而是“请检查我的 JavaScript”。如果您至少指出哪一行是第 10 行,并提出一个关于为什么不允许使用 = 的合法问题,这可能是一个好问题。
  • @Juhana -> 公平点。直到我得到答案,我才知道这是一个关于平等的问题。但是,如果我知道这是 = 标志,我会问的,但我不知道,所以很难问你不知道什么。另外,用这么短的代码指出第 10 行似乎有点过头了,而且只在第 10 行中断。
  • 原因 #26 为什么 VB* 是邪恶的:它是为数不多的使用相同运算符进行相等和赋值的语言家族之一。如果你不习惯它脑残的语法,错误就会跳出来。
  • @cHao -> 你不知道我是从VB开始的,所以坏习惯根深蒂固!

标签: javascript


【解决方案1】:

两个等号:

if (event.target === f1 && event.value =   "On") {
// -------------------------------------^^
if (event.target === f1 && event.value === "On") {


if (event.target === f2 || event.target === f3 && event.value =   "On") {
// ------------------------------------------------------------^^
if (event.target === f2 || event.target === f3 && event.value === "On") {

我在上面的代码中使用了三个等号来保持你的编码风格一致。

按照 vol7ron 的建议,您还应该在 IF 语句中添加括号。在我看来,这大大提高了可读性。

【讨论】:

  • 这个也是if (event.target === f2 || event.target = f3 && event.value = "On")
  • f3之前;实际上,我认为您只是输入错误;已编辑
  • ... 或者更好的是,使用严格比较===,在其余代码之后。
  • @ScottHoltzman 在&&|| 一起使用或在存在复杂条件的情况下,使用括号(()) 也很有帮助。在语言之间跳转时,您会发现有些语言具有不同的优先规则,而括号通常在 OoO 上较高
  • @ScottHoltzman f2.value = "Off" 本身是正确的,但您不应该在 IF 条件下键入它(为什么需要这样做?)。
猜你喜欢
  • 2020-08-02
  • 1970-01-01
  • 2017-12-30
  • 1970-01-01
  • 2018-10-02
  • 1970-01-01
  • 2019-09-18
  • 2017-04-26
相关资源
最近更新 更多