Javascript中的$ var声明

时间:2014-03-15 18:00:36

标签: javascript php

我应该如何在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();
                    })
                });

1 个答案:

答案 0 :(得分:0)

两者之间的唯一区别是第一个代码段中的$src是全局的(或者至少在匿名函数的本地范围之外),而第二个示例中的src是该函数的本地代码。

由于您要做的第一件事就是设置变量,这对于这段代码来说并不重要,因此第二个代码段应该与第一个完全相同。

我能想到的不同行为的唯一解释是,当另一段代码实际使用此全局src时,因此会受到您的第二个代码段的影响。但这对我来说听起来不太可能,所以我的猜测是你的测试错了,两个片段都有效,或两者都没有。