node.js中的'with'关键字代表什么?

时间:2014-07-01 23:17:44

标签: javascript node.js

我正在查看以下node.js代码:

Chrome(function (chrome) {
    with (chrome) {
        on('Network.requestWillBeSent', function (message) {
            console.log(message.request.url);
        });
        on('Page.loadEventFired', close);
        Network.enable();
        Page.enable();
        Page.navigate({'url': 'https://github.com'});
    }
}).on('error', function () {
    console.error('Cannot connect to Chrome');
});

取自here。我的问题是什么是“with”关键字,它说“with(chrome)”我在api中找不到它。

1 个答案:

答案 0 :(得分:2)

它不代表任何东西,它意味着英语单词意义上的“with”。

它不是Node API的一部分,它是核心JavaScript。

请参阅the EcmaScript specificationMDN

  

将给定对象添加到评估语句时使用的范围链中。对象周围的括号是必需的。

它基本上意味着对于任何变量,在检查局部变量之后,在检查默认对象(这将是window这是网页中的客户端JS)之前,对于该名称的属性,它将检查chrome中的对象是否有该名称的属性。