为什么在执行函数时冒号表示代替点?

Nop*_*ope 9 javascript

我知道你可以使用:

在Chrome浏览器中打开我的控制台我可以执行:

window.open('http://google.ie')
Run Code Online (Sandbox Code Playgroud)

这很好.然后我键入相同但使用冒号代替:

window:open('http://google.ie')
Run Code Online (Sandbox Code Playgroud)

为什么使用:静止open功能并执行该功能?

Jon*_*ski 12

:品牌window标签,而不是一个变量:

window:
    open('...');

continue window;
Run Code Online (Sandbox Code Playgroud)

而且,既然window是浏览器中的全局对象,那么它open()就是一个全局函数,无论有没有它都可以直接引用.

// both work
window.open('...');
open('...');
Run Code Online (Sandbox Code Playgroud)

但是,它并不是所有对象及其属性的完全替代品:

var o = { foo: 'bar' };

o:foo // ReferenceError: foo is not defined
Run Code Online (Sandbox Code Playgroud)