我想知道如何从函数内部导出变量以在其他函数中使用,我使用了这段代码:
但是在最新的函数中,我想从另一个函数中添加一个名为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>
答案 0 :(得分:1)
你可以用两种方式做到:
var nombre;
在javascript顶部声明,可以在其中初始化和使用
一个javascript和其他java脚本。你需要
导入源js。创建一个返回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不是经验丰富的程序员的最佳实践,但它可以为您提供一个很好的介绍。