保留 JQuery Vars 用于另一个函数(全局变量?)

Keep JQuery Vars for another function (Global vars?)

本文关键字:全局变量 函数 另一个 JQuery Vars 用于 保留      更新时间:2023-09-26

我正在尝试制作一个密码检查系统。我决定还要检查它是否是常用密码。

为此,我正在将外部 txt 文件加载到数组中。但是,我的密码检查功能似乎无法读取此数组。

jQuery(document).ready(function() {
var commonPass = new Array;
jQuery.get('/static/commonPass.txt', function(data){
    commonPass = data.split(''n');
    console.log(commonPass);
});
console.log(commonPass);
//you have to use keyup, because keydown will not catch the currently entered value
jQuery('input[type=password]').keyup(function() { 
    // set password variable
    var pswd = jQuery(this).val();
    //check if common password
    console.log(pswd);
    if ( jQuery.inArray(str.toLowerCase(pswd), commonPass)!= -1) {
        console.log('InArray');
        jQuery('#known').removeClass('valid').addClass('invalid');
    } else {
        console.log('NotInArray');
        jQuery('#known').removeClass('invalid').addClass('valid');
    }
});

是否可以创建全局jQuery/Javascript变量,这会是这个问题的解决方案吗?

commonPass移出所有函数的范围

jQuery(document).ready(function() {
var commonPass = new Array;

。应该是...

var commonPass = new Array;
jQuery(document).ready(function() {

否则你可以使用 window.commonPass . window 是 JavaScript 在浏览器中工作的"全局"变量。Javascript 的变量存在于声明它们的函数范围内(如果在函数外部,则window)。