JavaScript 编程函数

标签 javascript jquery

如果我有一个函数可以接收类似的调用

function car_total(y) {

final_total(y);
}


function toy_total(x) {

final_total(x);
}

如何创建一个函数来计算两个总计(如果存在)但只能接收 1 个参数并且不会抛出错误,这可能吗?

function final_total(x,y) {
//if passed just x
sum = x ;
//if passed just y 
sum = y;
//if passed x, y 
sum = x + y ; 

}

最佳答案

您只能传递一个参数,但只有一个参数时,该参数必须是 x ;因为没有办法(不传递对象)确定您“打算”传入哪个变量。因此收到的第一个变量将始终是 x ,第二个y ,不过,我建议:

function final_total(x,y) {
    return y ? x + y : x;
}

并且,在仅存在一个传入参数的情况下,该函数返回该单个值,或者,给定两个变量,返回这两个变量的总和。所以这确实如你所愿,即使没有办法确定是否 x y已传入。

但是,如果您必须显式传入其中一个 x y (由于某种原因):

function final_total(values) {
    var x = values.x || 0,
        y = values.y || 0;
    return x + y;
}

var variableName1 = final_total({x : 23, y : 4});
console.log(variableName1);
// 27

var variableName2 = final_total({y : 4});
console.log(variableName2);
// 4

var variableName3 = final_total({x : 23});
console.log(variableName3);
// 23​

JS Fiddle demo .

关于JavaScript 编程函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13501162/

相关文章:

javascript - 使用 jQuery + Javascript 播放带间距的 HTML5 音频元素

javascript - 弹出窗口上的 Bootstrap 3 数据远程内容

javascript - 函数没有返回正确的值

javascript - 让 async/await 与 superagent 一起工作

javascript - 删除 JavaScript 中的按键延迟?

c# - 使用 location.href 时如何获取上一页 url?

jquery - 如果页面上没有提交按钮,垃圾邮件机器人是否能够提交表单?

php - 为什么我的订阅页面没有将字段放入 MySQL 数据库中?

javascript - 有没有办法在 javascript 或 jquery 中创建变量选择器?

javascript - 自定义 Angular 指令属性中的 "Error: Syntax Error unexpected token"