1.3 KiB
1.3 KiB
id, title, challengeType, videoUrl, forumTopicId
id | title | challengeType | videoUrl | forumTopicId |
---|---|---|---|---|
56533eb9ac21ba0edf2244be | 全局作用域和函数 | 1 | https://scrimba.com/c/cQM7mCN | 18193 |
--description--
在 JavaScript 中,作用域涉及到变量的作用范围。在函数外定义的变量具有 全局 作用域。这意味着,具有全局作用域的变量可以在代码的任何地方被调用。
这些没有使用var
关键字定义的变量,会被自动创建在全局作用域中,形成全局变量。当在代码其他地方无意间定义了一个变量,刚好变量名与全局变量相同,这时会产生意想不到的后果。因此你应该总是使用var关键字来声明你的变量。
--instructions--
在函数外声明一个全局
变量myGlobal
,并给它一个初始值10
在函数fun1
的内部,不使用var
关键字来声明oopsGlobal
,并赋值为5
。
--hints--
应定义myGlobal
。
assert(typeof myGlobal != 'undefined');
myGlobal
的值应为10
。
assert(myGlobal === 10);
应使用var
关键字定义myGlobal
。
assert(/var\s+myGlobal/.test(code));
oopsGlobal
应为全局变量且值为5
。
assert(typeof oopsGlobal != 'undefined' && oopsGlobal === 5);