所以,我无法保留函数的值。
var A4 = 0;
var A1 = 1;
var A2 = 2;
var A3 = 3;
var ROW1 = [A1, A2, A3, A4];
function contains(a, obj) {
var i = a.length;
while (i--) {
if (a[i] === obj) {
return true;
}
}
return false;
}
与给定变量一起使用时,此函数的可接受值为4.
var InRow = function(cell, row) {
cell = 1;
if (contains(row, cell)) {
cell = 2;
if (contains(row, cell)) {
cell = 3;
if (contains(row, cell)) {
cell = 4;
if (contains(row, cell)) {
return false;
} else {
cell = 4;
}
} else {
cell = 3;
}
} else {
cell = 2;
}
} else {
cell = 1;
}
console.log(cell)
该console.log提供了可接受的值,为4。
};
InRow(A4, ROW1);
console.log(A4);
然而,无论如何,这个值都为0。
我想知道是否有办法存储第二个函数的值以便以后使用?即,使第二个console.log返回4.
答案 0 :(得分:4)
你不能只返回价值吗?或者我错过了什么?
var InRow = function(cell, row) {
cell = 1;
if (contains(row, cell)) {
cell = 2;
if (contains(row, cell)) {
cell = 3;
if (contains(row, cell)) {
cell = 4;
if (contains(row, cell)) {
return false;
} else {
cell = 4;
}
} else {
cell = 3;
}
} else {
cell = 2;
}
} else {
cell = 1;
}
return cell;
}
然后:
var cell = InRow(A4, ROW1);
console.log(cell);
将A4
传入函数然后用值1覆盖它的意义何在?你可以重写整个事情,它会产生同样的效果。
var InRow = function(row) {
var cell = 1;
if (contains(row, cell)) {
cell = 2;
if (contains(row, cell)) {
cell = 3;
if (contains(row, cell)) {
cell = 4;
if (contains(row, cell)) {
return false;
} else {
cell = 4;
}
} else {
cell = 3;
}
} else {
cell = 2;
}
} else {
cell = 1;
}
return cell;
}
var cell = InRow(ROW1);
console.log(cell);