我的要求是
我想在我给a(0)
时输出5,而当我给a(5)
时输出0。
a(0) = 5
a(5) = 0
像这样
提示:
使用此功能
函数A(num){}
像这样
请帮助我,我是JS新手
请给我不同的解决方案,这对我的职业生涯更有用。
答案 0 :(得分:1)
function swap (input) {
if( input == 0)
return 5;
return 0;
}
我认为不需要描述
答案 1 :(得分:0)
我想我明白你在做什么。
您想要将一个变量输入到函数中,并返回另一个尚未定义的变量。然后,您想通过将其输入相同的函数来定义该变量,并获得第一个输入作为输出。因此,您最终应该有2个输出。
现在这在技术上是不可能的,因为有未定义的变量在起作用。但是,编程是关于想象力的,我想我有一个解决方案(从技术上讲,这是一种技巧,但是可以使用):
var i = 1;
var output1;
var output2;
function swap(input) {
function func1(input) {
output2 = input;
i++;
}
function func2(input) {
output1 = input;
i = 1;
alert(String(output1) + "\n" + String(output2));
}
if (i === 1) {
func1(input);
}
else if (i === 2) {
func2(input);
}
}
while(true) {
swap(prompt("Enter your first input (this will be your second output):"));
swap(prompt("Enter your second input (this will be your first output):"));
}
swap
函数在变量i
中的值1和2之间来回移动。这样便可以跟踪第一或第二输入及其确切相反的输出。 swap
函数的输入或参数是用户在提示框中键入的内容。随意使其易于使用,这只是背后的肮脏代码。将它们一起输出的原因是第二个输入未定义,因此机器无法猜测您要输入的内容。因此,首先,我的小程序会收集所有数据,并在需要输出时才颠倒顺序。但是对于那些对JavaScript一无所知以及引擎盖背后发生什么情况的用户来说,这在我看来将是完美的。
这应该适用于输入的任何数据类型,我自己用objects
,strings
,numbers
和arrays
对其进行了测试。希望这会有所帮助!
答案 2 :(得分:0)
@mtizziani答案的更短的选择:
let swap = x => !x * 5 // yes this is all
console.log(swap(0));
console.log(swap(5));
x
现在是1或0 工作完成。