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

时间:2019-02-20 17:06:40

标签: 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.
}

4 个答案:

答案 0 :(得分:4)

设置一个等于该函数的变量。

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>

答案 1 :(得分:1)

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

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>

答案 2 :(得分:0)

调用两个函数中的一个

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.
}

答案 3 :(得分:0)

只需将函数one()调用两次,因为它的returnarr。而且您没有div与id = main,所以我添加了它
注意:每次点击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>