批改状态:合格
老师批语:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>作用域和闭包</title></head><body><script>//作用域:全局,函数,块//1. 全局作用域,默认的,不可删除// let site = "php";console.log(site);//由全局对象调用//全局对象:如果在浏览器中运行js,那么全局对象就是windowconsole.log(window.site);//2.函数作用域function getSite(){//site是声明在函数外部的全局变量//在函数内部可以访问到外部的全局变量// let site = "京东";//私有成员,仅在当前作用内访问,外部不可见let domain = "php.cn";return site;}console.log(getSite());// console.log(domain);// 3.块作用域{let a = 1;const B = "Hello";//var不支持块作用域,声明的变量会泄露到函数外var a = 1;var B = "Hello";}console.log(a, B);//4.闭包let c = 100;function sum(a,b){// return a+b;// 现在已经产生了闭包// 函数中的变量来源有两种类型// 1.形参:a,b,这是函数自有的// 2.自由变量:c,c并不是这个函数自有的// 当前函数可以访问到上一级/外部的自由变量//闭包:能够访问自由变量的函数就是闭包//理论上来讲,所有函数都是闭包return a+ b+ c;}console.log(sum(4,5));//通过闭包来访问内部的私有变量function demo1(){//室友变量let email = "qq.com";function d(){//对于这个子函数,email就是他的自由变量return email;}}let f = demo1();console.log(f())</script></body></html>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号