鉴于以下示例,为什么outerScopeVar
在所有情况下都未定义?
var outerScopeVar;var img = document.createElement('img');img.onload = function() { outerScopeVar = this.width;};img.src = 'lolcat.png';alert(outerScopeVar);
var outerScopeVar;setTimeout(function() { outerScopeVar = 'Hello Asynchronous World!';}, 0);alert(outerScopeVar);
// Example using some jQueryvar outerScopeVar;$.post('loldog', function(response) { outerScopeVar = response;});alert(outerScopeVar);
// Node.js examplevar outerScopeVar;fs.readFile('./catdog.html', function(err, data) { outerScopeVar = data;});console.log(outerScopeVar);
// with promisesvar outerScopeVar;myPromise.then(function (response) { outerScopeVar = response;});console.log(outerScopeVar);
// geolocation APIvar outerScopeVar;navigator.geolocation.getCurrentPosition(function (pos) { outerScopeVar = pos;});console.log(outerScopeVar);
为什么undefined
在所有这些例子中输出?我不想要解决方法,我想知道为什么会这样。
吃鸡游戏
相关分类