您的位置:首页 > Web前端 > JavaScript

10 JavaScript基础之--函数名、函数体和函数加载问题

2016-11-17 15:42 190 查看

1、函数名是什么

函数名 == 整个函数。

function fn(){
alert(1)
};
console.log(fn) == console.log(function fn(){alert(1)});


使用函数名时,代表了这个函数的所有代码(函数体)。

使用函数名() 表示函数调用,执行函数体内的所有代码。

console.log(fn());//undefined;因为没返回值
console.log(fn);//整个函数。
//函数名 === 整个函数体
function fn(){
var num = 222;
}


2、函数加载问题

JS加载的时候,只加载函数名,不加载函数体。

所以如果想使用内部的成员变量,需要调用函数。

3、变量和函数重名

变量和函数重名都叫a,如果变量有值,a取变量的值,如果没有值,a就取函数的值。

同名的函数和变量在预解析的时候,以函数为准。函数变量的优先级要高。看下面例子:

console.log(typeof a);//function
function a() {
}
;
var a;


变量提升(预解析:)

console.log(typeof a);//undefined
var a = function () {
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript
相关文章推荐