如何在jquery中声明和设置变量?

问题描述 投票:0回答:3

我有一个基本问题。在 Jquery 中,如果我在函数内声明一个变量并为其分配一个值,如何维护此更改?我以为它会覆盖它。请帮忙。

这是一个简单的例子来说明我的意思。警报框显示 2 但如何在 x 中保存 3 ??

<script>
var x=2
$(document).ready(function(){
    (function(){
        x=3;
    });
    alert(x);
});
</script>
javascript
3个回答
2
投票

您编写了一个函数表达式,但它不是 IIFE 的一部分,因此它不会被执行。您必须在函数表达式后面加上

()
才能执行它:

var x = 2;
$(document).ready(function() {
  (function() {
    x = 3;
  })();
  alert(x);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


1
投票

你写的函数没有被使用。试试这个吧

<script>
    var x=2
    $(document).ready(function(){
        (function(){
            x=3;
        })();
       alert(x);
    });
</script>

注意添加的括号,它在声明后立即调用该函数。

一个工作的jsfiddle:http://jsfiddle.net/nayish/x9kzefc2/

在您的示例中,由于 x 是在函数外部定义的,因此它被输入到函数闭包中,因此,如果您立即或稍后运行该函数,它将更改在函数外部定义的 x 的值范围。

自调用函数说明:

https://sarfraznawaz.wordpress.com/2012/01/26/javascript-self-invoking-functions/


0
投票

您创建了一个函数,但未设置且不调用。

看这里,如何设置和调用:

var x=2
$(document).ready(function(){
    var test = (function(){
        x=3;
    });
    test();
    alert(x);
});

var x=2
$(document).ready(function(){
    (function(){
        x=3;
    })();
    alert(x);
});
© www.soinside.com 2019 - 2024. All rights reserved.