我正在阅读ECMA6中的新特性。其中一个新特性是。这意味着我们可以对不同块中的函数使用相同的名称。如下面的代码所示,block1 foo()记录1,类似地,block2 foo()日志2和block0 foo() or global scope日志4,这是预期的结果。但我无法理解的是,为什么最后一个console.log(foo())记录的是1而不是4,因为它在block0 or global scope下面,而不是日志1,即block1 foo()。
现在,如果我将上面的代码封装到另
当我试图在我的服务器上进行开发时,我注意到我正在开发的PHP脚本有一些奇怪的行为。似乎我不能访问在函数外部声明的变量。我决定写一个简单的test.php文件,以确保它不是由我的其他代码引起的,并作为一个健全的检查。上面的代码输出:My name is:和我的集成开发环境甚至给我一个警告,告诉我$name是未分配的。
我已经有一段时间没有使用PHP了,但我很确定