【问题标题】:Translating two javascript terms into AS3将两个 javascript 术语翻译成 AS3
【发布时间】:2018-05-10 23:01:56
【问题描述】:

我正在使用某人为我开发的 JS 脚本,但我需要将其转换为 AS3。我对 AS3 很好,但有点困惑:如何将这两行翻译成 AS3。

  1. var teams = Array.apply(null, {length: numOfTeams}).map(Number.call, Number)
  2. 以下带有单引号的 sn-p

pairs[`${i},${x}`] = true;

虽然脚本在 JS 解释器中运行良好,但我不确定“`”表示什么,我认为“应用”和“映射”可能在 AS2 基于原型时已经存在,但我没用过AS2。建议?

【问题讨论】:

    标签: javascript actionscript-3


    【解决方案1】:

    所以在现代 JS 中,反勾号代表字符串插值。我认为 AS3 中没有等价物。在反引号内,您可以使用 ${} 将变量包装在字符串中。

    举个例子,想象一些输入

    var i = 1;
    var x = 2;
    `${i},${x}`
    // outputs "1,2" as a string
    
    var i = "Foo";
    var x = "Bar";
    `${i},${x}`
    // outputs "Foo,Bar" as a string
    

    它只是用逗号连接两个变量。 也可以这样写。

    var i = 1;
    var x = 2;
    i + "," + x
    // outputs "1,2" as a string
    

    看起来您有一个对象 pairs,其中 i comma x 作为键,布尔值作为值。

    {
      "1,2": true,
      "0,0": false,
      "4,5": true,
      "9,3": true
    }
    

    【讨论】:

      【解决方案2】:

      `` 表示template literal,这意味着${i},${x} 将被替换为变量i 包含的任何内容,一个逗号,然后是变量x 包含的任何内容。以下两个是等价的:

      pairs = {};
      i = 'hello'
      x = 'world'
      pairs[`${i},${x}`] = true;
      
      console.log(pairs)
      
      pairs = {}
      pairs[i + ',' + x] = true
      console.log(pairs)

      .apply 看起来像它存在于 AS3 中,.map 也是如此

      【讨论】:

      • 这两个 cmets 对变量占位符都非常有帮助。只是想弄清楚如何在 AS3 中表示 apply 和 map。这是创建一个数组并分配值来填充数组吗?如果是,Number 是一个在 javascript 中调用的类。
      • 猜猜我会感谢第一个答案并创建一个仅限于数组问题的新问题。谢谢
      • ...这两个都存在于 AS3 中,请参阅我的答案底部的链接。或者你的意思是.Number 的东西 - 它只是创建一个数组,其中每个项目都是索引。你可以很容易地做到teams = []; for (i = 0; i < numTeams; i++) { teams.push(i); }
      • 非常感谢。感谢您的澄清。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多