【问题标题】:What does $ function means in vanilla (no libraries) JS?$ 函数在香草(无库)JS 中意味着什么?
【发布时间】:2019-06-26 08:41:14
【问题描述】:

我想知道 $ 符号函数是什么意思。

它只是document.querySelector 的快捷方式还是有更多用途。

我转到 about:blank 页面并输入控制台 $。

Firefox 中的结果是:

function()

在 Chrome 中:

ƒ $(selector, [startNode]) { [命令行 API] }

它可以作为document.querySelector() 的快捷方式,但我不确定它的名称以及浏览器对此的支持是什么。

还有 $$ 函数作为document.querySelectorAll()

$_ 存储最后 $/$$ 函数结果,

$0 只是对document.body 的引用(我认为)

$x 我认为是 XPath 查询,因为 xpath 参数:

ƒ $x(xpath, [startNode]) { [命令行 API] }

(在控制台中输入$x时的chrome输出)

【问题讨论】:

    标签: javascript dollar-sign


    【解决方案1】:

    正如“[命令行 API]”消息所暗示的,它是浏览器内置的便利功能,而不是原生 javascript 的一部分。

    以 Chrome 为例:

    Console Utilities API 包含一组用于执行常见任务的便利函数:选择和检查 DOM 元素、以可读格式显示数据、停止和启动分析器以及监视 DOM 事件。 https://developers.google.com/web/tools/chrome-devtools/console/utilities

    Safari 和 Firefox 似乎支持与 Chrome 相同的一组功能;我相信(但不确定)这是共识而非实际标准。

    这些功能只能在开发者控制台中使用;它们不能在其他地方使用。

    console.log($) // will throw "ReferenceError: Can't find variable: $"

    $ 字符本身在 javascript 中没有特殊意义,可以作为任何其他字符字形使用:

    var $ = "hello"
    var a$b = "world"
    console.log($, a$b)
    
    $ = function() {console.log("This will confuse jQuery users, probably not a great idea")}
    $()

    【讨论】:

      【解决方案2】:

      您已发现每个浏览器的开发人员工具中都内置了非标准化标识符。它们不是原版 JS 的一部分。

      请注意,您不能在常规脚本中使用这些帮助程序。 根据使用的库或编写这些标识符的上下文,与内置帮助器相比,它们可能具有完全不同的含义,因为它们可以在那里任意分配。

      【讨论】:

        猜你喜欢
        • 2014-01-17
        • 2016-06-28
        • 2010-09-14
        • 2015-12-11
        • 1970-01-01
        • 2013-01-21
        • 2023-03-10
        • 1970-01-01
        相关资源
        最近更新 更多