看懂JavaScript代码

2018-02-14  本文已影响87人  joker731

简单来说,声明的代码是给浏览器看的,执行代码才是给人看的.声明代码是找变量的时候看的.


重大代码架构分析

var a = 1
function fn1(){
function fn3(){
function fn2(){
console.log(a)
}
var a
fn2()
a = 4
}
var a = 2
return fn3
}
var fn = fn1() // 这里打上都是声明,在不被调用和执行命令之前都是不动的,仅是声明了,产生几个变量
fn() //输出多少


因为fn就是fn1 所以执行fn1
function fn1(){
function fn3(){
function fn2(){
console.log(a)
}
var a
fn2()
a = 4
}
var a = 2 // 这里打上也是不执行的,因为都是声明,还没有收到执行命令
return fn3 //return fn3 也就是执行fn3
}


function fn3(){
function fn2(){
console.log(a)
}
var a
fn2() // 除了这行代码是执行,其他都是声明所以其他都不执行,就执行这行代码,所以执行fn2
a = 4
}


function fn2(){
console.log(a)
}
执行fn2 ,内部没有变量a网上找,找到a是undefined 所以输出undefined,fn()结果就是undefined

结论:如何看JavaScript代码? 要理解声明 + 执行是两个 意思,执行代码就是执行代码,没声明卵事,声明的部分都是不执行的.

上一篇 下一篇

猜你喜欢

热点阅读