2 sadkilo sadkilo 于 2016.04.16 21:59 提问

javascript 与 jquery 变量作用域差异问题

/***javascript例子***/

function fn(){
var oo="oo";
function fnn(){
alert(oo);
}
fnn();
}

fn(); // 结果 undefined

/***jquery 例子***/

$(

function(){

var oo="oo";
function fnn(){
alert(oo);
}
fnn();
}
)
// 结果 oo

按我理解以上jquery 只是将 匿名函数 等待页面加载完成后才执行而已
整函数结构跟之前的javascript的函数应该是一样的
但是为什么 在jquery中 函数fnn可以获取到其外部的变量oo

3个回答

showbo
showbo   Ds   Rxr 2016.04.16 22:22

第一个也是oo,哪来的undefined。。楼主你运行过没有了。。

sadkilo
sadkilo function fn(){ var oo="oo"; function fnn(){ var oo="oo2"; alert(oo); } fnn(); alert(oo); } fn();
一年多之前 回复
sadkilo
sadkilo   2016.04.17 01:09

function fn(){
var oo="oo";
function fnn(){

alert(oo);
var oo="oo2";

}
fnn();
alert(oo);

}
fn();

CSDNXIAOD
CSDNXIAOD   2016.04.16 22:02

JavaScript的变量作用域问题
javascript的变量作用域问题!
JavaScript闭包作用域变量问题
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!