客户端 JavaScript 执行环境
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
我们在基础部分提到过,JavaScript代码都有一个执行环境,所有的JavaScript代码均被包含在一个全局对象中,比如在所有函数之外声明:
var x = 3;
var str = "global";
这两个变量声明语句事实上是为全局对象添加了两个属性 x 和 str。可以将全局对象想 象成一个大的匿名自执行函数:
(function(){
var x = 3;
var str = "global";
//...
})();
在浏览器端,这个全局的对象称为 window,window 是所有 JavaScript 对象的根,我们可以通过 window 对象的属性 document 来访问页面本身,也可以调用 window 的一 些方法来与用户交互,比如:
window.alert("This is a message");
alert("This is a message");
这两个语句事实上的效果是相同的,在引用全局对象 window 的方法时,我们可以忽略前缀,只使用方法名本身。
window 对象是对浏览器当前窗口的引用,因为浏览器会将 window 与自身绘制出来的窗口绑定起来,我们对 window 的操作事实上会映射到浏览器窗口上。正是浏览器本身 提供了这种脚本化的能力,我们才有机会通过 JavaScript 代码来完成诸如改变页面标题,弹出警告框,修改页面内容(通过对 window.document 的修改)等操作。
在线练习
{$ activeFileHint $}