js的作用域
作用域
<body>
<!-- 什么是作用域?? 作用域具体表现是什么? -->
<!-- 作用域就是 一类具有特殊功能的 对象类型 的称呼 -->
<script>
// 全局作用域: 就是一个存储了 系统API 的对象
// 不同的 `宿主环境` 提供的全局作用域不同
// 宿主环境: JS运行在什么环境里, 就称为宿主环境 -- 寄生/夺舍
// 例如: 在 node.js 中运行JS, JS的宿主就是 node环境
// 在 浏览器中运行JS, 浏览器就是 JS 的宿主
console.log(window)
// JS除了自身的语法以外, 可以使用宿主的各种功能, 全靠 全局作用域 对象
window.alert('哈哈')
// 全局作用域的特点:
// -- 其中存放了系统的各种API
// -- 在使用全局作用域中的属性时, 可以省略前缀 window.
alert('Hello!')
var a = 10
// 全局变量污染: 使用 var 在 script 中声明的变量, 会存储在全局作用域对象中 -- window里, 称为全局变量污染
// window本来是存储系统API的, 但是你把自定义的属性存储在window中, 造成其污染
// JS做了很多努力, 来避免全局污染 -- 闭包/let/const 块级...
// 应用程序接口(英语:Application Programming Interface,简称:API),又称为应用编程接口, 即 各种提供好的方法和属性
</script>
</body>
</html>