javascript - 请解释为什么会发生这种情况?
问题描述
有人可以向我解释为什么当我没有在函数中传递参数时我得到 1 个输出,而且当我传递参数时我得到 120 两次。
let n = 5;
let arr = [1,2,3,4,5,6];
function multiply(arr, n) {
let product = 1;
for (let i = 0; i < n; ++i) {
product *= arr[i];
console.log(product);
}
return product;
}
console.log(multiply(arr, n));
let n = 5;
let arr = [1,2,3,4,5,6];
function multiply(arr, n) {
let product = 1;
for (let i = 0; i < n; ++i) {
product *= arr[i];
console.log(product);
}
return product;
}
console.log(multiply());
解决方案
由于您没有在第二种情况下传递arr
, 和n
参数,因此它们是undefined
. 所以 for 循环永远不会运行,因此 product 的值保持原样,由函数返回, as 1
。
推荐阅读
- nginx - Nginx:从反向代理的应用程序重写 url 中的端口
- html - 如何使两个部分在 SVG 中看起来像一个部分?
- python - 从 API 将数据写入数据帧时失败
- php - 将输出格式化为逗号分隔列表而不是嵌套数组
- azure - 无法连接到我的远程应用程序,只有具有相同 IP 的远程桌面
- apache-spark - 如何在 Kubeedge 上部署 Spark?
- javascript - 浏览器 - 删除类后保持颜色
- android - Using Firestore UI to retrieve data from Firestore and display it in RecyclerView is not working for API 24+
- javascript - 接受 Cookie 后显示 Google 地图和 YouTube 视频
- javascript - 如何修复css中的位置故障?