繁体   English   中英

如何从 JavaScript 中的返回值中获取 var 值

[英]How get var value from return in JavaScript

我不知道我的问题是否如标题所示。 一般来说,我有这个代码:

 function one(){ var main= document.getElementById('main'); var arr = ['a','b','c','d','e']; var btn = document.createEement('button'); var btnTxt= document.createTextNode('click'); main.appendChild(btn); btn.appendChild(btnTxt); btn.setAttribute('onclick','two()'); return arr; } function two() { //I need to get the arr variable here. }

设置一个与函数相等的变量。

var oneResult = one();

 function one(){ var main= document.getElementById('main'); var arr = ['a','b','c','d','e']; var btn = document.createElement('button'); var btnTxt= document.createTextNode('click'); main.appendChild(btn); btn.appendChild(btnTxt); btn.setAttribute('onclick','two()'); return arr; } function two(){ // i need to get the arr varible here. var oneResult = one(); } two();
 <div id="main"></div>

一种可能的解决方案是使用JSON.stringify()模板文字arr作为函数two参数传递。 请注意,如果您在函数two()调用one()则每次都会创建一个新按钮:

 function one() { var main = document.getElementById('main'); var arr = ['a','b','c','d','e']; var btn = document.createElement('button'); var btnTxt= document.createTextNode('click'); main.appendChild(btn); btn.appendChild(btnTxt); btn.setAttribute('onclick',`two(${JSON.stringify(arr)})`); return arr; } function two(arr) { //I need to get the arr variable here. console.log(arr); } one();
 <div id="main"></div>

一分为二调用一个函数

 function one(){ var main= document.getElementById('main'); var arr = ['a','b','c','d','e']; var btn = document.createEement('button'); var btnTxt= document.createTextNode('click'); main.appendChild(btn); btn.appendChild(btnTxt); btn.setAttribute('onclick','two()'); return arr; } function two(){ var v=one(); // i need to get the arr varible here. }

只需将函数one()分两次调用,因为它return arr 。此外,您没有id = main div,所以我添加了它
注意:函数one()将在每次点击btn调用,因此将创建新的btns

 function one(){ var main= document.getElementById('main'); var arr = ['a','b','c','d','e']; var btn = document.createElement('button'); var btnTxt= document.createTextNode('click'); main.appendChild(btn); btn.appendChild(btnTxt); btn.setAttribute('onclick','two()'); return arr; } one(); function two(){ var arr = one(); console.log(arr); // i need to get the arr varible here. }
 <div id="main"></div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM