我练了一些场景,并找到一个案例: Here is fiddle 根据封闭条函数应该有机会获得var x所以我希望提醒1和条件得到虚假由于if(!1)但它提醒undefined和条件得到真实和第二警报是价值10 var x = 1;
function bar() {
alert(x);
if (!x) {
var x = 10;
}
alert(
即使假块内部的代码不会执行,var foo也会被提升到栈顶吗? function foo(){
if (false) {
var foo = 'bar'; //will this be hoisted even if its never executed?
}
}
我看到它是,只是困惑......我没有想到它被卷入一个虚假的条件下被吊起来。
在书Secrets of the JavaScript Ninja,p。 43 - 46,它有一个像一些代码: function assert(flag, msg) {
if (!flag) {
console.log("Assertion failed for: " + msg);
}
}
function outer() {
var a = 1;
我想知道集成一个函数的方式......我把4个方法放在下面。由于变量的范围和/或声明方式,其中一个更好吗?也许他们中的一些或全部是完全错误的?任何帮助表示赞赏。非常感谢! //method 1
var derpHerp1 = function() {
var addMe1 = function (firstNum,secNum){
var sum = firstNum +