【问题标题】:Conflict in ES6 String Interpolation and jQuery $ES6 字符串插值和 jQuery $ 中的冲突
【发布时间】:2015-08-11 06:37:12
【问题描述】:

愚蠢的问题:不要打扰

我是 ES6 的新手,按照本指南 here 开始。看了下面的代码,从那时起就一直在思考。

function printCoord(x, y) {
    console.log(`(${x}, ${y})`);
}

所以我们使用${VARIABLE} 来获取它的值作为字符串。现在,如果我将 jQuery 用作 $ 会与上面的代码冲突吗?或者 jQuery 会忽略 `` 之间的任何内容?

我们可以做一些类似...的事情吗?

console.log(`(${ $('.selector').text() })`);

是否需要我在任何地方都使用 jQuery 作为jQuery

【问题讨论】:

  • @Vohuman 那么我能做到吗console.log((${ $('.selector').text() })); ?
  • 是的,你可以这样做。但是你为什么不测试呢? “jQuery 会忽略 ``” 之间的任何内容。 jQuery 只是一个 JavaScript 库,它无法控制 JavaScript 解释器的工作方式。
  • 我只是想在 babel/repl 上进行测试。我很快就会回来。
  • 是的,行得通!谢谢!我在本地尝试了 babel 并运行。
  • 是什么让您认为$ 会与jQuery 发生冲突?它在字符串文字 ('$("foo")') 或正则表达式文字 (/foo$/) 中也不冲突。模板文字中的$ 只是一个特殊字符(与{} 一起),它不会被评估为变量。

标签: javascript jquery string ecmascript-6


【解决方案1】:

我做了一个 jsfiddle。 (添加了 jQuery、babel 作为语言)

http://jsfiddle.net/kamikazefish/hd1Le21z/

<div class="selector">This is the text in the selector</div>

console.log(`(${ $('.selector').text() })`);
alert(`(${ $('.selector').text() })`);

好像可行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-05
    • 1970-01-01
    • 2012-05-23
    • 2012-09-07
    • 2011-01-14
    • 2016-04-06
    • 2013-02-08
    • 1970-01-01
    相关资源
    最近更新 更多