我无法弄清楚为什么我的函数不会改变全局变量(arrayValue)它只在函数内部改变它,但我想在外面改变它.
function reverseArrayInPlace(arrayValue) {
var newArr = [];
for (var i = 0; i < arrayValue.length; i++) {
newArr.unshift(arrayValue[i]);
}
arrayValue = newArr;
return arrayValue;
}
var arrayValue = [1, 2, 3, 4, 5];
reverseArrayInPlace(arrayValue);
console.log(arrayValue); // It gives [1, 2, 3, 4, 5] instead of [5, 4, 3, 2, 1]
console.log(reverseArrayInPlace(arrayValue)); // It gives [5, 4, 3, 2, 1]
Run Code Online (Sandbox Code Playgroud) 我尝试更新/导出全局变量 (firstString) 以在“Then”步骤中使用和验证它。如何正确导出?当我这样做时, firstString 是未定义的。它仅在我在步骤中导出/导入它时才有效。如何全局更新它并在“Then”文件中使用它?
helpers.js:
let firstString;
Run Code Online (Sandbox Code Playgroud)
给定的.js:
let { firstString } = require('./helpers')
Given('I have first {string}', function (stringValue) {
return stringRequest(stringValue).then(response => {
firstString = response
});
});
module.exports = { firstString }
Run Code Online (Sandbox Code Playgroud)
然后.js:
firstString = require('./helpers').firstString
Then('blablabla {string}', function (stringType) {
console.log(firstString)
});
Run Code Online (Sandbox Code Playgroud)