如何在函数中对函数进行编码
How can I code a function within a function?
是否可以在JavaScript的主函数中嵌套函数?我一直在玩一些代码,我无法让我的函数在屏幕上显示任何内容。
function main() {
var crew;
var crewMemberWeight = 113;
var winterWeight = 2.8;
var winter = false;
var capacity = 24000;
var cargo = [1000, 5500, 2000, 3500, 4000, 7000];
function cargoWeight(cargo) {
total = 0;
for(var i = 0; i < cargo.length; i++) {
total += cargo[i];
}
document.write("Cargo weight: " + total);
return total;
}
}
main();
function main() {
var crew;
var crewMemberWeight = 113;
var winterWeight = 2.8;
var winter = false;
var capacity = 24000;
var cargo = [1000, 5500, 2000, 3500, 4000, 7000];
function cargoWeight(cargo) {
total = 0;
for(var i = 0; i < cargo.length; i++) {
total += cargo[i];
}
document.write("Cargo weight: " + total);
return total;
}
// you have to call the function and pass in cargo. Not just define it
cargoWeight(cargo)
}
main();
您只需要在main()中调用这个内部函数。我会做:cargoWeight(货物);最后一个括号之前。
您需要在末尾调用cargoWeight函数。看看你的代码,看起来你想把货物变量传进来。
function main() {
var crew;
var crewMemberWeight = 113;
var winterWeight = 2.8;
var winter = false;
var capacity = 24000;
var cargo = [1000, 5500, 2000, 3500, 4000, 7000];
function cargoWeight(load) {
total = 0;
for(var i = 0; i < load.length; i++) {
total += load[i];
}
document.write("Cargo weight: " + total);
return total;
}
cargoWeight(cargo);
}
main();
可以在javascript中的函数中定义函数。但是,执行此操作时,只能从父函数内部调用嵌套函数。因此,如果您编写另一个单独的函数,您将无法从另一个函数调用cargoWeight()
。
function main() {
var crew;
var crewMemberWeight = 113;
var winterWeight = 2.8;
var winter = false;
var capacity = 24000;
var cargo = [1000, 5500, 2000, 3500, 4000, 7000];
function cargoWeight(load) {
total = 0;
for(var i = 0; i < load.length; i++) {
total += load[i];
}
document.write("Cargo weight: " + total);
return total;
}
}
main();
function other(){
cargoWeight(400) // can't call this method here
}
有很多应用程序需要一篇很长的文章来解释,但研究javascript对象和闭包是一个很好的起点,可以了解javascript为什么以及如何以这种方式工作。
首先,您需要调用"cargoWeight(load)",还需要定义将被拉入函数的"load"。
我认为你的意图是把"货物"数组加起来?参见链接小提琴:
www.jsfiddle.net/natLooy6
这对聚会来说已经很晚了,但对于"JavaScript初学者"来说可能很有趣。
function main()
{
var crew;
var crewMemberWeight = 113;
var winterWeight = 2.8;
var winter = false;
var capacity = 24000;
var cargo = [1000, 5500, 2000, 3500, 4000, 7000];
function cargoWeight(cargoValues) {
return cargoValues.reduce((a, b) => a + b, 0);
}
document.write("Cargo weight: ", cargoWeight(cargo));
}
main();
相关文章:
- 为什么我的javascript地理编码函数返回空白结果
- javascript编码风格的函数以逗号分隔;这个“;
- 我该怎么做[硬编码号码].[函数调用]在Javascript中工作
- 如何在函数中对函数进行编码
- 编码技术叫什么?函数[]()
- 如何重新编码我的jQuery/JavaScript函数,使其更通用,不需要唯一标识符
- 将回调函数与谷歌地理编码结合使用
- 用于初始化对象的编码模式 - 构造函数(新)与 Object.create()(Crockford)
- 良好的编码实践 js 函数()
- 在 ASP.NET 页面中内联编码 SVG 会导致 SVG JavaScript 创建 SVGPoint();函数中断
- 从函数调用控制器并向其传递 URL 编码参数
- jquery/javascript 多单击函数将按编码顺序工作
- 如何正确编码函数以异步加载
- 如何绑定谷歌地图地理编码器.geocode() 回调函数
- 调用以字符串编码的 javascript 函数
- 在用 PHP 编码时调用 javascript 函数
- 将内联硬编码的 jQuery 函数传输到变量
- 如何对此 javascript 函数进行编码以在选择特定类型时显示两个 + 字段集
- 我应该如何将此函数编码为旋转
- 使用jquery或原生javascript函数编码URL(包括&等字符)