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 () { };
相关文章推荐
- 栋栋晓10:Javascript学习总结:基础知识2(语句,函数,)
- JavaScript基础 body onload 当网页加载完成时,才调用指定函数
- 在 WordPress 中加载 JavaScript 最好使用 wp_enqueue_script() 函数以减少问题提高效率
- Javascript基础_10立即执行函数,闭包函数理解
- 【JavaScript】10.解决chplayer视频播放器在本地能加载视频,放到服务器上加载视频失败的问题
- JavaScript基础 body onload 当网页加载完成时,才调用指定函数
- JavaScript关于自调用循环函数解决代码加载顺序的问题
- .net中前台javascript与后台c#函数相互调用问题
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->addRange 函数
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->clear 函数
- .net中前台javascript与后台c#函数相互调用问题
- 调用javascript遇到奇怪的“函数未定义”问题
- JavaScript中parseInt()函数问题
- Javascript-Mozilla和IE中的一个函数直接量的问题
- .net中前台javascript与后台c#函数相互调用问题
- .net中前台javascript与后台c#函数相互调用问题
- .Net中前台javascript与后台c#函数相互调用问题(转)
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->add 函数
- .net中前台javascript与后台c#函数相互调用问题
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->contains 函数