关于js的作用域,自我认知
Posted gao-xiaomeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于js的作用域,自我认知相关的知识,希望对你有一定的参考价值。
作用域要从两个步骤去理解这个概念:
1>首先要找到诸如 var function 参数 之类
alert(a);var a = 3;
alert(a)是 ‘未定义‘
所有的变量,在正式运行代码前,都提前赋了一个值:未定义
fn1 = function fn1(){ alert(2); }
所有的函数,在正式运行代码之前,都是整个函数块
遇到重名的:只留一个,变量和函数重名了,就只留下函数
2>逐行解读代码:
表达式:= + - * / % ++ -- ! 参数……
表达式可以修改预解析的值!
alert(a); //function a (){ alert(4); } var a = 1; alert(a); //1 function a (){ alert(2); } alert(a); //1 var a = 3; alert(a); //3 function a (){ alert(4); } alert(a); //3 a(); //a is not a function
var a = 1; function fn1(){ alert(a); //undefined var a = 2; } fn1(); alert(a); //1
var a = 1; function fn1(){ alert(a); a = 2; } fn1(); //1 alert(a); //2
var a = 1; function fn1(a){ //参数a = var a alert(a); //undefined a = 2; } fn1(); alert(a); //2
var a = 1; function fn1(a){ alert(a); // 1 a = 2; } fn1(a); alert(a); // 1
以上是关于关于js的作用域,自我认知的主要内容,如果未能解决你的问题,请参考以下文章