1
xFan OP 呃..没写完全就发了..
我想的是..函数读取全局变量..为什么会是特殊之处... = =# ... |
2
mufeng 2014-07-29 10:29:03 +08:00
因为别的语言都不做这种事, 开销大
|
4
hellojinjie 2014-07-29 10:41:02 +08:00
|
5
NemoAlex 2014-07-29 10:51:29 +08:00
应该是跟 Java 和 C 之类的语言比,这些语言只有“外部变量”,而没有真正意义上的全局变量。
在浏览器中运行的 JS,通常认为 Window 是一个全局对象,Window 下的属性是全局变量。 不过文中这句话这样说并不是很合适,好像是在强调“可以读取”一样,这是不对的。 |
6
xFan OP @hellojinjie 恩 我最开始也是你这种想法..所以来讨论一下.
|
7
Tonni 2014-07-29 11:11:35 +08:00
Javascript有两种作用域:全局作用域和局部作用域,每当调用一个函数就会生成一个局部作用于,局部作用域可以通过闭包查到到外级作用域的属性,这里的外级作用域可能是函数作用域也可能是全局作用域,而全局作用域则不能向下查找局部作用域的属性。
|
8
jsonline 2014-07-29 11:15:41 +08:00 via Android
这也是JS的坑爹之处。
|
9
mufeng 2014-07-29 11:22:58 +08:00
@hellojinjie js的全局变量, 简单暴力, 特别容易污染, 所以我说别的语言不做这个
|
10
davepkxxx 2014-07-29 11:26:35 +08:00
除了某些不支持全局变量的语言,我想不到有哪个做不到这一点。
|
11
davepkxxx 2014-07-29 11:27:43 +08:00
哦,这里说的是全局变量,和静态变量搞混了。
|
12
clino 2014-07-29 11:45:06 +08:00 2
我觉得是写错了,应该改成
"Javascript语言的特殊之处,就在于函数内部可以直接**声明**全局变量" |
13
hellojinjie 2014-07-29 11:47:16 +08:00
@clino 正解,哈哈
|
14
clino 2014-07-29 13:07:00 +08:00 via Android
上面写错了,应该是定义,不是声明
|