有没有办法在jQuery / JavaScript中创建一个变量,如果它不存在的话?
我已经尝试过:
在这个设置中,即使我将moving设置为true,'test'也会不断地被记录,if语句仍然被忽略。
所以我想要实现的是每次滚动元素时都检查它是否已经被动画化。如果是,则不执行动画。
基本上是一个队列。
我已经尝试过:
if (moving.length<0) {
moving=false;
}
if (moving=='undefined') {
moving=false;
}
但是逻辑上它都失败了,因为变量的初始检查已经是未定义的。
希望你们能帮忙 :)
编辑
第一个答案运行正常,但我对此仍有疑问。
$.fn.animation = function() {
if (typeof moving == 'undefined') {var moving = false;};
if(moving===false){
var moving=true;
console.log('test');
};
};
$(window).scroll(function(){
if($(window).scrollTop() < scrollpos){
elm.animation();
}
scrollpos=$(window).scrollTop();
});
在这个设置中,即使我将moving设置为true,'test'也会不断地被记录,if语句仍然被忽略。
所以我想要实现的是每次滚动元素时都检查它是否已经被动画化。如果是,则不执行动画。
基本上是一个队列。
var moving = moving || false
?我在问,@adeneo,我想了解你的解决方案的区别。 - steovariables
内部值的复杂程度,对吧?我在考虑使用var app = app || {}
的常见pattern
,通常情况下,app
并不是一个那么“简单”的variable
,这就是为什么我要问的原因。谢谢您的澄清! - steo