Javascript JQuery在函数外部更改变量值

Javascript JQuery在函数外部更改变量值,javascript,jquery,Javascript,Jquery,我想从函数外部更改clients变量的值,使用函数内部的变量,当我选择某个对象时,该变量会发生更改,但我不知道如何执行该操作。请帮忙 这是我的密码 <script> var clients; $('#clients').on('change',function(e) { console.log(e); var clients = e.target.value; }); document.write(clien

我想从函数外部更改clients变量的值,使用函数内部的变量,当我选择某个对象时,该变量会发生更改,但我不知道如何执行该操作。请帮忙

这是我的密码

<script>
    var clients;
    $('#clients').on('change',function(e)
    {
        console.log(e);

        var clients = e.target.value;

    });
    document.write(clients);
 </script>
通过在函数内使用var,您可以在该范围内重新定义它,只需删除函数内的var即可

var clients;
$('#clients').on('change',function(e)
{
    console.log(e);

    clients = e.target.value;

});
alert(clients);
通过在函数内使用var,您可以在该范围内重新定义它,只需删除函数内的var即可

var clients;
$('#clients').on('change',function(e)
{
    console.log(e);

    clients = e.target.value;

});
alert(clients);
var关键字创建一个局部变量。删除它以从外部范围访问变量:

var clients;
$('#clients').on('change', function(e) {
    clients = e.target.value;
});
但是,您应该记住,最后一行中的AlertClient将始终显示undefined,因为更改事件将在实际事件触发后触发。

var关键字将创建一个局部变量。删除它以从外部范围访问变量:

var clients;
$('#clients').on('change', function(e) {
    clients = e.target.value;
});

但是,您应该记住,最后一行中的AlertClient将始终显示undefined,因为更改事件将在稍后实际事件触发时触发。

Bah,比您领先39秒,但您将获得额外投票。是因为读了OP结尾的下一个问题,你才得到了额外的答案,不是吗;我已经试过了,但没用!。客户端仍然没有定义。我用document.write更改了警报:@诺瓦乌病毒:当然还没有定义。在执行更改事件之前,不会为其赋值。另外,不要使用document.write。@Jamiec看起来是这样的:而且我的旁注也没什么帮助。@MattBurland->谢谢你的解释。我不熟悉jQuery/javascript,您的回答确实有助于解释事件的基础知识。很抱歉这么晚才感谢你:。另外,你能给我解释一下为什么我不应该使用document.write吗?呸,在答案上领先你39秒,但你得到了额外的选票。是因为读了OP结尾的下一个问题,你才得到了额外的答案,不是吗;我已经试过了,但没用!。客户端仍然没有定义。我用document.write更改了警报:@诺瓦乌病毒:当然还没有定义。在执行更改事件之前,不会为其赋值。另外,不要使用document.write。@Jamiec看起来是这样的:而且我的旁注也没什么帮助。@MattBurland->谢谢你的解释。我不熟悉jQuery/javascript,您的回答确实有助于解释事件的基础知识。很抱歉这么晚才感谢你:。另外,你能给我解释一下为什么我不应该使用document.write吗?我已经试过了,但它不管用:!。客户端仍然没有定义。我用document.write更改了警报:@Nova_病毒您似乎不了解事件处理程序是如何工作的。请看另一个答案下面的便条。我已经试过了,但没有效果:!。客户端仍然没有定义。我用document.write更改了警报:@Nova_病毒您似乎不了解事件处理程序是如何工作的。请参见另一个答案下面的注释。