JS的预解析过程: 1,预解析 2,再逐行解读代码, 实例: ---------------------------- <script> var name="xm"; var age=18; function fn(argument){ console.log(name); var name="xh"; var age=12; }&l…
<script> // f1(); // console.log(c);//9 // console.log(b);//9 // console.log(a);//报错 // function f1() { // var a = b = c = 9; // console.log(a);//9 // console.log(b);//9 // console.log(c);//9 // } //调用时f1函数提前 //var a = b = c = 9;相当于 // var a=9;//局部变…
分析下面两段代码 console.log(num)//undefined var num = 10 f()//可以执行 //f2()不可以执行 console.log(f)//function console.log(f2)//undefined function f(){ console.log(num)//undefined var num = 20 console.log(num)//20 } console.log(num)//10 var f2 = function(){ consol…
js预解析对于很多学习web前端开发的新手们很困扰,总是很难搞懂到底是个什么东西,今天零度就为大家简单的分析一下,争取让大家都明白! 首先,看一下下面的代码: alert(a); var a = 1; 这段代码大家认为运行时会弹出什么?相信很多人会回答”1“,其实弹出的是undefined! 为什么呢?我们来分析一下:首先这段js代码是一个alert,我们知道alert是一个弹出函数,弹出后面括号里面的东西,这里面我们给了一个变量a,那么这个变量a的值是多少呢?这时,js解析器并不知道,所以它会…
一.函数 每个函数都是 Function类型的实例,也具有属性和方法.由于函数也是一个对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定 1.函数的定义方式 (1).函数声明 function add(a, b) { return a + b; } 函数声明提升:在执行代码之前,会先读取函数声明,也就是说,可以把函数声明放在调用它的代码之后 fn(); function fn() {console.log(1)} (2).函数表达式 var add = function(a…
js函数预解析 例子1: 先上一段代码,看看能不能写出最终的执行结果. console.log(a); var a = 1; console.log(a); function a(){ console.log(2); } var a = 3; console.log(a); function a(){ console.log(4); } console.log(a); a(); 运行结果: 解释一下: 首先预解析阶段遇到 var a = 1:声明变量a 然后遇到第一个函数a声明,这时由于和变量a…