这里其实的前面帖子讲了很多js前缀因此我就不讲什么序章了,我总之一句话,在练习代码,不论是谁 离不开多敲多写,虽然可能有些人工作存在cv情况,这个问你个问题,如果不是大佬,他cv有啥用不,俗话说的好,百度万万条,为的就是找答案,前期学习,后期就是为了工作需要,毕竟工作你会遇到各种奇葩的错误,你又不是人工AI,因此不去百度寻找专属的答案cv解决工作需求,干啥呢?你就是学会了,你也会这样做的的.
我们言归正传,之前我们说过js和node是两回事,一个前端一个后端,同时我们今天讲的第一章是变量提升
<script> function bianliang() { if(false) { var web="变量提升" } console.log(web) } bianliang() </script>
JavaScript的工作原理是先编译再执行,在编译过程中,解释器会把所有声明“移动”到所在作用域的最上面,而赋值或其他逻辑会留在原地,这就是变量提升。
2.函数优先
在提升过程中,函数声明将首先提升,然后才是变量。只有函数声明( function a(){} )才会被提升,函数表达式( var a = function b(){} )不会提升。如果存在相同的声明,相同的变量声明将被忽略;相同的函数声明,后面的将会覆盖前面的。
例如
foo(); // 1 var foo; function foo(){ console.log(1); } foo = function(){ console.log(2); }
将被理解为
function foo(){ console.log(1); } foo(); // 1 foo = function(){ console.log(2); }