1、函数的环境与作用域原理
let title = '工作' //在整个js作用 现在作为全局变量 如果在函数里面 作用域只在函数里function show() {let url = '工作中';function hd() {let site = '加班中';console.log(url) //hd函数里调用父级的url 可以调用}}show() //调用函数执行局部作用let 如果调用子函数的 site值的话访问不到
2、模拟块级作用域
function outputNumbers(count){(function(){for(var i = 0; i < count; ++i){console.log(i);}})();console.log(i); // Uncaught ReferenceError: i is not defined}outputNumbers(5);
3、什么是闭包 闭包就是一个函数可以访问另一个函数的的值
function hd(){let n = 1;return function sum() {//sum函数可以使用其他函数的参数console.log(++n,'++n')}}let a = hd();a();a();
