如何从Javascript中的函数导出变量?

时间:2015-12-24 19:32:28

标签: javascript function import export

我想知道如何从函数内部导出变量以在其他函数中使用,我使用了这段代码:

但是在最新的函数中,我想从另一个函数中添加一个名为nombre的变量,但我无法做到,我想为函数添加几个值,但最后,我只能想象一个函数无限的参数,如果可能的话。

提前致谢! 瓦尔。

<script>
//Empieza el script justo aquí
//Aquí definimos la función de cómo queremos llamar a nuestro personaje
//La función nombreintroducido recoge el valor de la variable nombre y la usa más adelante
  var nombrepersonaje = function() {
    var nombre = prompt("Como quieres que se llame tu personaje");
	nombreintroducido(nombre);
  }

//Aquí definimos que si el nombre tiene menos de tres carácteres, se repite la función nombrepersonaje
//Si se pulsa cancelar, se terminará el juego
//Si introduces algún nombre de personaje que sea válido, se abrirá un mensaje emergente que mostrará el nombre introducido
var nombreintroducido = function (nombre){
if (nombre === '') {
  confirm('Tu nombre de personaje ha de tener mas de 3 caracteres');
  nombrepersonaje();
} else if (nombre === null){
confirm('No has introducido ningun nombre de personaje, el juego terminara ahora')
}
else{
  confirm('Tu nombre de personaje es' + ' ' + nombre)

  }
};

var eligeclase = function(){
var clase = prompt("Que clase quieres elegir: Guerrero o Mago")
claseescogida(clase);
}

var claseescogida = function (clase){
if (clase === 'Guerrero'){
confirm('Has elegido la clase Guerrero: 10 Fuerza y 5 Inteligencia');
confirmaclase(clase);
}
else if (clase === 'Mago') {
confirm ('Has escogido la clase mago: 10 Inteligencia y 5 Fuerza');
confirmaclase(clase);
}
else {
confirm ('Tienes que escribir exactamente Guerrero o Mago');
eligeclase();
}};

var confirmaclase = function(clase) {
confirm('Tu clase es finalmente ' + clase + ' ... y tu nombre es');
}


//Se podría decir que el minijuego empezaría aquí, ya que lo anterior son funciones que definimos
nombrepersonaje();
eligeclase();



//Termina el script justo aquí
 </script>

2 个答案:

答案 0 :(得分:1)

你可以用两种方式做到:

  1. 全局声明var,以便可以使用变量 在任何地方(java脚本内部或外部),如.. var nombre; 在javascript顶部声明,可以在其中初始化和使用 一个javascript和其他java脚本。你需要 导入源js。
  2. 创建一个返回var本身的函数。喜欢。

    var myFunction     = function(){return nombre;}

    当您需要nombre变量时,只需将该函数调用为var newNombre = myFunction();

答案 1 :(得分:0)

您可以像这样全局定义变量(例如在variables.js中):

var myNombre;

现在,只要您想提示用户,就可以将输入分配到myNombre

function initMyNombre () {
    // assign from input
    myNombre = prompt("Enter a nombre");
}

您的变量现在保留输入并保持输入,直到您重新分配它或关闭浏览器选项卡。

然后,也许在index.html中,您可以使用myNombre:

function anyFunction () {
    // x now has the value of myNombre
    var x = myNombre;
}

请注意,您需要在html文档中使用<script src="directory/variables.js"></script>包含variables.js。另请查看This W3schools Tutorial。尽管W3schools不是经验丰富的程序员的最佳实践,但它可以为您提供一个很好的介绍。