无法访问函数jquery外部的变量
Cannot access variable outside function jquery
一直在四处阅读,现在非常困惑。我正在尝试访问全局范围中的一个局部变量。我已经删除了函数中的var,但它仍然是"未定义的"。我确信我只是错过了什么——任何帮助都将不胜感激。谢谢
var totalcostApple;
function shopping() {
$("#apple").on("keyup", function () {
var quantity = $("#apple").val();
totalcostApple = (quantity * 0.2).toFixed(2);
});
};
shopping();
console.log(totalcostApple);
你似乎误解了自己在做什么。你的代码流一团糟。调用shopping()
时,指示浏览器将keyup事件绑定到apple对象。但是,在将其绑定到对象之后,就可以查询变量。但是您的速度不够快,无法在shopping
函数和keyup
事件之间生成keyup事件。只是为了向您展示,与其只登录一次控制台,不如尝试在另一次将其登录到控制台。任何时候。添加以下代码行:
$(window).on('click', function(){ console.log(totalcostApple); });
现在,您可以在变量实际发生更改时测试。每次单击时,它都会将totalcostApple
的当前值记录到控制台。
但实际上,你应该这样改进你的代码:
// add some code to assure that everything you do only gets executed after the DOM is ready
$(document).ready(function(){
// add a default value to your totalcost.
var totalcostApple = 0;
function shopping() {
// remove your keyup event from here and tie it in directly.
var quantity = $("#apple").val();
totalcostApple = (quantity * 0.2).toFixed(2);
// move your log inside the event so you can see it when it *changes*
console.log(totalcostApple);
};
$("#apple").on("keyup", shopping);
});
相关文章:
- 定义函数时,如何捕获外部变量的当前值
- jQuery:如何访问外部变量
- 成功回调中的外部变量未正确更新
- 如何通过pickink外部变量在jsfiddle中执行javascript函数
- JQuery 承诺:访问外部变量或将结果传递给 .done 内部的 IIFE
- JsRender:使用 if 语句将 JSON 对象中的值与外部变量进行比较
- jQuery 函数中的外部变量和作用域
- 在 JavaScript 中维护函数外部变量的值
- 如何从传入的预定义回调访问外部变量
- 基于外部变量重新编译指令
- 从函数更改外部变量
- 从AJAX函数中修改外部变量
- 如何通过Javascript在MongoDB 'where'查询中使用外部变量
- 访问Promise链中的外部变量
- Javascript 构造函数,使用引用其他变量的外部变量进行闭包
- 如何在Angular.js指令中将service.js的内部查询结果绑定到外部变量
- 如果内部函数没有'不要使用外部变量的任何变量
- JS如何访问外部变量's函数
- 从@foreach循环内部访问外部变量
- Javascript:访问匿名函数中的外部变量