从全局范围中删除var
remove var from global scope
在这个例子中,我有两个操作:
-
当你添加用户数量时,它将根据输入中的价格自动计算,总金额为
-
当您已经添加用户数量>计算总金额>如果您在输入总金额时单击EUR,则总金额将转换为欧元。
所以,每件事都很好——但我不喜欢"usesQuantity"具有全局范围!如何使其本地化并保存工作版本http://jsfiddle.net/gb2447jd/5/
尝试过类似的东西
$('#user-quantity').keyup(function(){
var userQuantity = parseInt($(this).val());
if( userQuantity >=1 && userQuantity <=200){
valid(userQuantity);
} else {
$('#total-sum').val("error");
}
});
$('#usd').on('click', function(){
$('#eur').removeClass('greenChacked');
$(this).addClass('greenChacked');
valid(userQuantity);
});
$('#eur').on('click', function(){
$('#usd').removeClass('greenChacked');
$(this).addClass('greenChacked');
valid(userQuantity);
});
$('#usd').trigger('click');
function valid(userQuantity){
if( $('#usd').hasClass('greenChacked') ){
var usdCurr = userQuantity * 10 + 'doll';
$('#total-sum').val(usdCurr);
}
if( $('#eur').hasClass('greenChacked') ){
var eurCurr = userQuantity * 5 + 'eur';
$('#total-sum').val(eurCurr);
}
}
您可以将代码封装在立即调用的函数中
(function () {
var userQuantity;
$(document).ready(function () {
//rest of your code
};
}());
点击此处了解更多信息。
在函数中定义变量(userQuantity)。它将通过闭包提供给其他函数和回调,而不具有全局作用域。看看这个新的jsFiddle。
新代码的开头如下:
$(document).ready(function () {
var userQuantity;
$('#user-quantity').keyup(function () {
userQuantity = parseInt($(this).val());
if (userQuantity >= 1 && userQuantity <= 200) {
setCurrency();
} else {
$('#total-sum').val("error");
}
});
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 控制台返回var不是't定义,但它是
- 如何删除多行HTML排列中的空白
- 从var向代码隐藏函数传递值
- 如何通过引用var Using DataTables来进行分页或排序
- 如何从rails中的代码中删除新行( )
- 删除对HTML元素的拖动
- jQuery语法添加了var
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何将具有文本类型值的var放入jQuery函数中
- 如何在不删除 javascript 中的 var 的情况下使对象成为公共对象
- 从全局范围中删除var
- 如何在点击var ID时添加/删除子元素的类
- 如果var status = 'Processing',我如何在格式化器中显示删除按钮?
- Jquery索引删除与var而不是数字
- 声明为const的var/object可以被删除吗?
- 为什么删除关键字而不删除带有var关键字的变量?
- 用php var确认删除
- 删除带有var和非var变量的运算符