function fn_1() {
var c = "3";
alert(c); // 3
var c = "ttc"; //在这里给了实例 c 上面还是可以获取到值
var call_back = function(a) {
alert(a);
alert(c); //undefined
var c = "ttc"; // //在这里给了实例 c 上面就获取不到值了是为什么呢
}
fn_2(call_back);
}
function fn_2(call_back) {
var a = "ttc";
call_back(a);
}
------解决方案--------------------
javascript么有块级作用域
你在函数里任意位置定义的变量都可以在该函数的任意位置访问
所以你在callback定义a时就已经覆盖掉了外面的a 只是你alert时还没给a赋值 所以是undefined
------解决方案--------------------
function fn_1() {
var c = "3";
alert(c); // 3
var c = "ttc"; //在这里给了实例 c 上面还是可以获取到值