为另一个函数保留 JQuery 个变量(全局变量?)
Keep JQuery Vars for another function (Global vars?)
我正在尝试制作一个密码检查系统。
我决定我也想检查它是否是常用密码。
为此,我将外部 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 的 "global" 变量。 Javascript 的变量存在于声明它们的函数的范围内(或者 window
如果在函数之外)。
我正在尝试制作一个密码检查系统。 我决定我也想检查它是否是常用密码。
为此,我将外部 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 的 "global" 变量。 Javascript 的变量存在于声明它们的函数的范围内(或者 window
如果在函数之外)。