我最近开始维护其他人的JavaScript代码.我正在修复错误,添加功能,并尝试整理代码并使其更加一致.
以前的开发人员使用两种声明函数的方法,如果背后有原因,我就无法解决.
这两种方式是:
var functionOne = function() {
// Some code
};
Run Code Online (Sandbox Code Playgroud)
function functionTwo() {
// Some code
}
Run Code Online (Sandbox Code Playgroud)
使用这两种不同方法的原因是什么?每种方法的优缺点是什么?有一种方法可以通过一种方法完成,而另一种方法无法完成吗?
在JavaScript中,嵌套函数非常有用:闭包,私有方法以及你有什么...
什么是嵌套的PHP函数?有没有人使用它们,为什么?
这是我做的一个小调查
<?php
function outer( $msg ) {
function inner( $msg ) {
echo 'inner: '.$msg.' ';
}
echo 'outer: '.$msg.' ';
inner( $msg );
}
inner( 'test1' ); // Fatal error: Call to undefined function inner()
outer( 'test2' ); // outer: test2 inner: test2
inner( 'test3' ); // inner: test3
outer( 'test4' ); // Fatal error: Cannot redeclare inner()
Run Code Online (Sandbox Code Playgroud) 以免我假设有以下内容
function a(){
function b(){}
}
a(); //pass
a(); //error
Run Code Online (Sandbox Code Playgroud)
为什么在第二次调用中抛出一个异常,它说
cannot re-declare function b()
Run Code Online (Sandbox Code Playgroud)
我认为每个函数调用都会生成一个新的活动记录,它包含自己的范围; 和其他语言一样,当我们在函数中声明一个变量并且调用该函数时,所有变量对于它们的范围都是活的,为什么内部函数不一样?