Javascript 如何访问addEventListner方法之外的变量值?
我正在尝试访问addeventlistner外部的“var accInfo”值,以便使用此对象进行进一步编码。我是javascript的初学者,不知道jquery和其他框架,所以请指导我。谢谢Javascript 如何访问addEventListner方法之外的变量值?,javascript,function,addeventlistener,Javascript,Function,Addeventlistener,我正在尝试访问addeventlistner外部的“var accInfo”值,以便使用此对象进行进一步编码。我是javascript的初学者,不知道jquery和其他框架,所以请指导我。谢谢 let form1 = document.getElementById('form1'); form1.addEventListener('submit', () => { let fname = document.getElementById("defaultRegisterFormFi
let form1 = document.getElementById('form1');
form1.addEventListener('submit', () => {
let fname = document.getElementById("defaultRegisterFormFirstName").value
let lname = document.getElementById("defaultRegisterFormLastName").value
let email = document.getElementById("defaultRegisterFormEmail").value
var accInfo = acc(fname, lname,email);
console.log(accInfo)
return false
})
function acc(fname,lname, email){
let accInfo = {fname, lname, email}
return accInfo;
}
您可以分配一个
全局变量
,并将其保存,以便在侦听器外部进一步使用,如下所示:
let form1 = document.getElementById('form1');
let globalAccInfo = null;
form1.addEventListener('submit', () => {
let fname = document.getElementById("defaultRegisterFormFirstName").value
let lname = document.getElementById("defaultRegisterFormLastName").value
let email = document.getElementById("defaultRegisterFormEmail").value
var accInfo = acc(fname, lname,email);
globalAccInfo = accInfo; //update it here
console.log(accInfo)
return false
})
function acc(fname,lname, email){
let accInfo = {fname, lname, email}
return accInfo;
}
将accInfo定义为全局变量,如下所示:
var accInfo; //leave it undefined for now
form1.addEventListener('submit', () => {
//...
accInfo = acc(fname, lname,email);
//...
})
function acc(fname,lname, email){
let anotherVariableName = {fname, lname, email}
return anotherVariableName;
}
//now you can use it outside, but it will be undefined until the event listener is called
console.log(accInfo);
您必须将函数acc更改为其变量的另一个名称,但这是否回答了您的问题?