服务器之家

服务器之家 > 正文

JavaScript函数定义的常见注意事项小结

时间:2021-03-14 17:45     来源/作者:JavaScript教程网

本文就javascript函数定义的常见问题进行了总结。包含了初学者常犯的错误。分享给大家供大家参考。具体总结如下:

1. 函数声明的同时JS引擎还定义了一个与函数名同名的变量,我们在调用这个函数的时候实际上是在使用这个变量,且它可以在函数声明之前调用,例如

?
1
2
3
4
foo(); //这里实际上是使用了一函数变量
function foo() {
  alert('hello');
}

2. 函数表达式,此时将匿名函数赋值给了一变量,此变量需在定义后使用,例如

?
1
2
3
4
foo(); //报错,未定义
var foo = function() {
  alert('hello');
}

3. 函数表达式(with函数名),这种用法最好避免,此时非IE浏览器中该函数名只在内部可用,例如

?
1
2
3
4
5
6
7
8
9
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构造函数定义,这种方式效率低,每次执行函数的时候,其函数体都会被解析一次。此外这样声明的函数是不会继承当前声明位置的作用域,它默认只会拥有全局作用域,例如

?
1
2
3
4
5
function foo() {
  var bar = 'hello';
  return Function('alert(bar)'); //报错,全局变量bar未定义
}
foo()();

相信本文所述对大家javascript WEB程序设计的学习有一定的借鉴价值。

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部