javascript - 使 javascript 变量在整个脚本中可见

标签 javascript variables

我明白了

$('#password').change(function() {
    var toSha1 = $('#msisdn').val() + $('#password').val();
    var authCode = $.sha1(toSha1);
});

如何使变量 authCode 在整个脚本中可见。例如,要正常工作:

  $('#password').change(function() {
    var toSha1 = $('#msisdn').val() + $('#password').val();
    var authCode = $.sha1(toSha1);
});
 alert(authCode);

我尝试在不使用关键字“var”的情况下定义它,但它似乎不起作用。

已编辑:这是来源

<div data-role="content">
    <textarea id='resultArea'></textarea>
    <label for='msisdn'>MSISDN:</label>
    <input type='text' id='msisdn' value='+359899888777'>
    <label for='authCode'>authCode:</label>
    <input type='text' id='authCode' value='8bcac5dabf06219843a5a3b755c47e69600e050a'>
    <label for='password'>Password:</label>
    <input type='password' id='password' value='123'>
    <button data-role='button' data-inline='true' data-theme='e' id='register'>Register</button>
    <button data-role='button' data-inline='true' data-theme='e' id='login'>Login</button>
</div><!-- /content -->
<script>
$('#resultArea').hide();
$('#password').change(function() {
    var toSha1 = $('#msisdn').val() + $('#password').val();
    window.authCode = $.sha1(toSha1);
});
alert(window.authCode);
</script>

最佳答案

显式使其成为全局:

window.authCode = $.sha1(toSha1);

全局变量是window对象的属性。

请注意,您的代码存在一个单独的问题:您在连接处理程序后立即警告 authCode 的值,而不是在 change 事件发生时警告火灾。查看评论:

$('#resultArea').hide();               // Happens immediately
$('#password').change(function() {     // change() call happens immediately, setting up the handler
    // ...but this code runs when the handler is *called*, not inline with the code above and below
    var toSha1 = $('#msisdn').val() + $('#password').val();
    window.authCode = $.sha1(toSha1);
});
alert(window.authCode);                // Happens immediately after the calls above

关于javascript - 使 javascript 变量在整个脚本中可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8747324/

相关文章:

javascript - 如何通过js将表格单元格的内容相乘?

javascript - 每个滚动 session 仅触发一次鼠标滚轮滚动事件

c++ - #define 字符串(字符串文字)占用多少字节?

javascript - 如何在 jQuery/js 中使用 if 语句更改变量值

javascript - 使用 d3 过渡增加和减少圆的半径

javascript - 使用 webpack output.target 选项创建 ES6 模块 'equivalent'

javascript - 如何从 json 数据中删除 并在 React 应用程序中显示纯文本

javascript - 如何创建一个将属性值分配给其他属性的函数?

ruby-on-rails - Ruby on Rails 中的@变量

bash - 使用 bc 或其他标准实用程序的任意数量的标准偏差