let greeting; greetign = {}; // Typo! console.log(greetign);
-
A:
{}
-
B:
ReferenceError: greetign is not defined
-
C:
undefined
控制台会输出空对象,因为我们刚刚在全局对象上创建了一个空对象! 当我们错误地将greeting
输入为greetign
时,JS解释器实际上在浏览器中将其视为global.greetign = {}
(或window.greetign = {}
)。
为了避免这种情况,我们可以使用'use strict'
。 这可以确保在将变量赋值之前必须声明变量。
答案: A
练习
1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 8 <title></title> 9 </head> 10 11 <body> 12 </body> 13 14 </html> 15 <script type="text/javascript"> 16 'use strict' 17 let greeting; 18 greetign = {}; // Typo! 19 console.log(greetign); 20 </script>
总结:
使用“use strict”的意义