var a = function () {
var b = 1;
return b;
}
var c = new a()
//可以这样做
var sayHi, condition;
if (condition) {
sayHi = function () {
alert("Hi!");
};
} else {
sayHi = function () {
alert("Yo!");
};
}
// function factorial(num) {
// if (num <= 1) {
// return 1;
// } else {
// return num * factorial(num - 1);
// }
// }
// arguments.callee 是一个指向正在执行的函数的指针,因此可以用它来实现对函数
// 的递归调用,例如:
// function factorial(num) {
// if (num <= 1) {
// return 1;
// } else {
// return num * arguments.callee(num - 1);
// }
// }
// var anotherFactorial = factorial;
// factorial = null;
var factorial = (function f(num) {
if (num <= 1) {
return 1;
} else {
return num * f(num - 1);
}
});
var anotherFactorial = factorial;
factorial = null;
console.log(anotherFactorial(5)); //出错!
console