getting-started-with-javascript
getting-started-with-javascript copied to clipboard
《Javascript权威指南》:function对于整个脚本可见还是函数可见?
问题1: 函数声明语句: var f = function(x) { return x+1; } 函数定义表达式:function f(x) {return x+1; } 那么。函数定义表达式是否算是语句呢?
答:ECMAScript标准规范并没有将函数声明归类为真正的语句。(写问题的过程中自己(好像)解决了:)
问题2:function f(x){return x +1;} 这个语句如果出现在函数中,那么它是整个脚本可见(全局可见)还是函数可见(局部可见)? 换句话说,是否function无论出现在哪,它都是全局可见?
你可以用变量的定义去推敲,就能举一反三的去理解。
先定义赋值,再使用(对)
var name = 'xiaoming';
console.log(name);
先使用,在定义(错)
console.log(name);
var name = 'xiaoming';
函数表达式定义法,也是一种表达式赋值给变量的过程。所以道理是一样的。
补充:一般情况下,函数表达式定义法定义的变量叫函数变量。通过语法定义的名字叫函数名。