JS的预解析过程: 1,预解析 2,再逐行解读代码, 实例: ---------------------------- <script> var name="xm"; var age=18; function fn(argument){ console.log(name); var name="xh"; var age=12; }&l…
一.函数 每个函数都是 Function类型的实例,也具有属性和方法.由于函数也是一个对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定 1.函数的定义方式 (1).函数声明 function add(a, b) { return a + b; } 函数声明提升:在执行代码之前,会先读取函数声明,也就是说,可以把函数声明放在调用它的代码之后 fn(); function fn() {console.log(1)} (2).函数表达式 var add = function(a…
var func=function 和 function func()在意义上没有任何不同,但其解释优先级不同:后者会先于同一语句级的其他语句. 即: { var k = xx(); function xx(){return 5;} } 不会出错,而 { var k = xx(); var xx = function(){return 5;} } 则会出错. 为什么会这样呢?这就要引出javascript中的预解析机制来解释了. JavaScript解析过程分为两个阶段,一个是编译阶段,另外一个…
<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解析器并不知道,所以它会…