<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>作用域在js中</title>
</head>
<body>
</body>
</html>
<script>
//作用域
// 在js中,函数嵌套是非常普遍的,
// 在函数嵌套中,
// 对变量是如何寻找的?
// 答:首先在函数内寻找...直到寻找到(window)区域
// var c = 5;
// function t1(){
// var d = 6;
// function t2(){
// var e = 7;
// var d = 3;
// alert(c+d+e);
// }
// t2();
// }
// t1();
//申明变量 var
// var 是在函数运行的上下文中,申明一个变量,
// 如果不加var,则是一个赋值操作
// 但不要狭隘的理解为申明了一个全局变量()
// alert(window.d);//undefine
// alert(window.e);//undefine
//
// function t(){
// d = 5;
// var e = 6;
// }
//
// t();//d没有加var,仅仅是一个赋值操作,寻找t域内的函数,没找到继续寻找window,window.d=5
// alert(window.d);//5
// alert(window.e);//undefine
// function t1(){
// var d;
// function t2(){
// d=5;
// e=6;
// }
// t2();
// }
// t1();
// console.log(e);//6
// console.log(d);//undefine
// js代码执行前先进行词法分析
</script>
网友评论