JavaScript函数定义的常见注意事项小结
本文就javascript函数定义的常见问题进行了总结。包含了初学者常犯的错误。分享给大家供大家参考。具体总结如下:
1. 函数声明的同时JS引擎还定义了一个与函数名同名的变量,我们在调用这个函数的时候实际上是在使用这个变量,且它可以在函数声明之前调用,例如
foo(); //这里实际上是使用了一函数变量
function foo() {
alert('hello');
}
2. 函数表达式,此时将匿名函数赋值给了一变量,此变量需在定义后使用,例如
foo(); //报错,未定义
var foo = function() {
alert('hello');
}
3. 函数表达式(with函数名),这种用法最好避免,此时非IE浏览器中该函数名只在内部可用,例如
bar(5); //报错,未定义
var bar = function foo(n) {
if (n == 1)
return 1;
else
return n * foo(n - 1);
}
foo(5); //非IE报错,未定义
bar(5); //正确
4. 用Function构造函数定义,这种方式效率低,每次执行函数的时候,其函数体都会被解析一次。此外这样声明的函数是不会继承当前声明位置的作用域,它默认只会拥有全局作用域,例如
function foo() {
var bar = 'hello';
return Function('alert(bar)'); //报错,全局变量bar未定义
}
foo()();
相信本文所述对大家javascript WEB程序设计的学习有一定的借鉴价值。
相关文章
JavaScript使用structuredClone实现深拷贝
在JavaScript中,实现深拷贝的方式有很多种,每种方式都有其优点和缺点,今天介绍一种原生JavaScript提供的structuredClone实现深拷贝,文中通过代码示例给大家介绍的非常详细,需要的朋友可以参考下2024-03-03
深入浅析JavaScript中的arguments对象(强力推荐)
这篇文章主要介绍了JavaScript中的arguments对象(强力推荐)的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下2016-06-06
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
这篇文章主要介绍了JS基于ocanvas插件实现的简单画板效果,结合实例形式分析了ocanvas插件实现画板的相关技巧,并附代码demo源码供读者下载参考,需要的朋友可以参考下2016-04-04


最新评论