javascript - 奇怪的 Javascript 'new' 形式

标签 javascript new-operator

我在 less 文档中找到了下一种形式的 new 运算符。

var parser = new (less.Parser) ({
    pathes [
        '.',
        './css'
    ],
    filename: 'style.less'
});

与通常的形式有什么区别?

var parser = new less.Parser({
    patches [
        '.',
        './css'
    ],
    filename: 'style.less'
});

可以和.apply方法结合使用吗?

最佳答案

没有区别

var parser = new (less.Parser) (...);

var parser = new less.Parser (...);

less.Parser 周围的括号完全是多余的。

Can it be combined with .apply method?

通过 apply 使用设计为通过 new 调用的函数(一个“构造函数”)是很困难的,因为 new 做了一个很多东西。 (这对于上述两种形式都是正确的,因为——再一次——它们是同一件事。)我更多地讨论了将 apply 与构造函数一起使用 in this other answer在 Stack Overflow 上。

关于javascript - 奇怪的 Javascript 'new' 形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15703196/

相关文章:

javascript - if 语句不正确

javascript - 使用 Javascript 打开空白 URL 时遇到问题

php - 1.0000241703257e+14 如何在PHP中转换它,它应该是: 100002417032566

c++ - 如何最好地在 C++ 中存储非常大的 2D float 列表?错误处理?

c++ - 使用与 new 中使用的指针类型不同的指针删除内存是否安全?

javascript - Mouseenter 和 Mouseleave 给出了不希望的结果

java - Glassfish SSE 未成功将事件发送到浏览器 EventSource(最新的 Chrome)

c++ - 使用自定义分配器调用对象构造函数/析构函数

c++ - 使用重载的普通 new 运算符放置 new

c++ - new 和 delete 处理多线程问题