Javascript中的$ var声明
$ var declaration in Javascript
如何在Javascript中声明对象变量?错误地,我以为我是在PHP中,它工作了。
$(res.data).each(function(index, value){
$src = value.images.fixed_height;
$('<a href="'+value.url+'" target="_blank"><img src="' + $src.url + '" width="' + $src.width +'" height="' + $src.height + '"></a>').load(function(){
$(this).appendTo("#results").fadeIn();
})
});
然后,当我试着从Javascript的角度思考它不起作用时,
$(res.data).each(function(index, value){
var src = value.images.fixed_height;
$('<a href="'+value.url+'" target="_blank"><img src="' + src.url + '" width="' + src.width +'" height="' + src.height + '"></a>').load(function(){
$(this).appendTo("#results").fadeIn();
})
});
两者之间的唯一区别是,第一个代码片段中的$src
是全局的(或者至少在匿名函数的局部作用域之外),而第二个示例中的src
是该函数的局部。
由于您要做的第一件事是设置变量,因此对于这段代码来说,这应该无关紧要,因此第二个代码片段应该与第一个代码片段完全相同。
我能想到的不同行为的唯一解释是,当另一段代码实际上使用这个全局src
时,因此受到第二个代码片段的影响。但这听起来不太可能对我来说,所以我的猜测是你的测试是错误的,要么两个片段都工作,要么两个都不工作。
相关文章:
- 一个'var'在函数内部声明
- 在for循环中声明i时使用var
- 什么's;var'声明的变量和'这'在Javascript中创建了属性
- 为什么VaR声明比让快
- 多次声明var而不是使用.find
- 为什么我的变量需要一个'var'声明,当它's已经在var声明中了
- Javascript变量声明:什么是“;var myVariable={}”;
- Node.js上VAR的声明
- 具有多个逗号分隔值的变量声明是什么意思(例如 var a = b,c,d;)
- 如何在此 var 声明中获取此数组的第一个元素
- 如何在使用 javascript 声明 var 之前检查元素有或没有
- 在 Javascript 中声明 var 用于循环声明
- 在Javascript中分配多个值之前先声明var
- Javascript:为什么我需要在for循环中声明var I=0
- 在jquery.live()中声明var,它可以在所有函数中使用
- 声明var that = this的原因是什么?在javascript
- 提升未声明'var'的JS变量
- 为什么没有在object方法中声明var的变量不会成为全局变量
- 在unray表达式中声明var
- 重新声明var console