js中参数未传的问题,以及两个数字or运算返回值问题 function Calc(X0,max){max = max || 5;//求解此句含义}function CalBBA(){ XO=3; Calc(XO);//此处调用未传max参数,求解}个人理解:未传的max = undifined,max = max || 5;后,max = ???? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 未传的max = undifined,max = max || 5;后,max = 5 js是松类型滴,你可以传一个参数,也可以传两个,三个,你只传一个参数的时候max参数就变成undefinded, max=max||5就是为了防止undefinded情况的:max=max取不到值?那就max=5咯,字面理解就是max=max 或者5 相当于max = (max ? max : 5) max = max || 5;相当于max = (max ? max : 5)max true 返回 max 否则 = 默认值5undefinded 0 false 都是 false 大家好,多谢大家的热心帮助,但是按大家的理解,我改成了C#代码后,运行结果不正确啊,怎么回事,传参的时候,max = max(参数),没传参的时候,max = 5,我改成C#了,然后,结果不一致。function calBBA(P0, V0, V, bonus, dt, t, y, b, max) { max = max || 5; //累加 function calc(P, P0, V0, V, bonus, dt, t, y, b, max) { return (P0 * V0 + Math.max(max, P0 * V0 * y) + (b != 0 ? Math.max(1, V0 * b / 1000) : 0) + P * V * t + Math.max(max, P * V * y) + (b != 0 ? Math.max(1, V * b / 1000) : 0) - bonus + dt ) / P; } //初始参数 var UP = P0 * 50, DOWN = 0.001, limit = 0.0001, X0 = (UP - DOWN) / 2, Vt = 0; do { Vt = calc(X0, P0, V0, V, bonus, dt, t, y, b, max); //取中值 if (Vt < V) { UP = X0; X0 = (UP + DOWN) / 2; } else { DOWN = X0; X0 = (UP + DOWN) / 2; } } while ((Math.abs(Vt - V) > 0.001) && (Math.abs(UP - DOWN) > limit)) return X0; } function calBBB(P0, V0, V, bonus, dt, t, y, b, max) { max = max || 5; //累加 function calc(P, P0, V0, V, bonus, dt, t, y, b, max) { return (P0 * V0 + Math.max(max, P0 * V0 * y) + (b != 0 ? Math.max(1, P0 * V0 * b) : 0) + P * V * t + Math.max(max, P * V * y) + (b != 0 ? Math.max(1, P * V * b) : 0) - bonus + dt ) / P; } //初始参数 var UP = P0 * 50, DOWN = 0.001, limit = 0.0001, X0 = (UP - DOWN) / 2, Vt = 0; do { Vt = calc(X0, P0, V0, V, bonus, dt, t, y, b, max); //取中值 if (Vt < V) { UP = X0; X0 = (UP + DOWN) / 2; } else { DOWN = X0; X0 = (UP + DOWN) / 2; } } while ((Math.abs(Vt - V) > 0.001) && (Math.abs(UP - DOWN) > limit)) return X0; }调用代码 calList[1][0] = function () { result.bbPrice = calBBA(buyPrice, buyAmt, allAmt, gainMoneyAmt, 0, stampTaxRate, brokerRate, transferFeeRate); }; calList[1][2] = function () { result.bbPrice = calBBA(buyPrice, buyAmt, allAmt, gainMoneyAmt, 0, stampTaxRate, brokerRate, transferFeeRate / 100); }; calList[1][1] = function () { result.bbPrice = calBBB(buyPrice, buyAmt, allAmt, gainMoneyAmt, 0, stampTaxRate, brokerRate, transferFeeRate / 100, 1); } calList[1][3] = function () { result.bbPrice = calBBB(buyPrice, buyAmt, allAmt, gainMoneyAmt, 0, stampTaxRate, brokerRate, transferFeeRate / 100); } max = max || 5;换成if(!max) max=5;试试 请高手指教下 JS 图片轮播问题 js加密问题 请大侠帮忙挖一段代码 请帮我解释一下下面的JS代码。 非得滥用div才有的混???求解!!! 如何得到子节点中的最大ID号 一个效果相当好的demo,有些元素定位问题,希望高手相助啦。 简单问题,如何打开定制窗口? 事件触发问题 页面没有做到自适应 我又来送分了 关于标签下查询自标签的问题 请教:当前页面如何执行另一个页面
max = (max ? max : 5)max true 返回 max 否则 = 默认值5undefinded 0 false 都是 false
max = max || 5;
//累加
function calc(P, P0, V0, V, bonus, dt, t, y, b, max) {
return (P0 * V0 + Math.max(max, P0 * V0 * y) + (b != 0 ? Math.max(1, V0 * b / 1000) : 0)
+ P * V * t + Math.max(max, P * V * y) + (b != 0 ? Math.max(1, V * b / 1000) : 0) - bonus + dt
) / P;
}
//初始参数
var UP = P0 * 50, DOWN = 0.001, limit = 0.0001, X0 = (UP - DOWN) / 2, Vt = 0;
do {
Vt = calc(X0, P0, V0, V, bonus, dt, t, y, b, max);
//取中值
if (Vt < V) {
UP = X0;
X0 = (UP + DOWN) / 2;
} else {
DOWN = X0;
X0 = (UP + DOWN) / 2;
}
} while ((Math.abs(Vt - V) > 0.001) && (Math.abs(UP - DOWN) > limit))
return X0;
}
function calBBB(P0, V0, V, bonus, dt, t, y, b, max) {
max = max || 5;
//累加
function calc(P, P0, V0, V, bonus, dt, t, y, b, max) {
return (P0 * V0 + Math.max(max, P0 * V0 * y) + (b != 0 ? Math.max(1, P0 * V0 * b) : 0)
+ P * V * t + Math.max(max, P * V * y) + (b != 0 ? Math.max(1, P * V * b) : 0) - bonus + dt
) / P;
}
//初始参数
var UP = P0 * 50, DOWN = 0.001, limit = 0.0001, X0 = (UP - DOWN) / 2, Vt = 0;
do {
Vt = calc(X0, P0, V0, V, bonus, dt, t, y, b, max);
//取中值
if (Vt < V) {
UP = X0;
X0 = (UP + DOWN) / 2;
} else {
DOWN = X0;
X0 = (UP + DOWN) / 2;
}
} while ((Math.abs(Vt - V) > 0.001) && (Math.abs(UP - DOWN) > limit))
return X0;
}
调用代码 calList[1][0] = function () {
result.bbPrice = calBBA(buyPrice, buyAmt, allAmt, gainMoneyAmt, 0, stampTaxRate, brokerRate, transferFeeRate);
};
calList[1][2] = function () {
result.bbPrice = calBBA(buyPrice, buyAmt, allAmt, gainMoneyAmt, 0, stampTaxRate, brokerRate, transferFeeRate / 100);
};
calList[1][1] = function () {
result.bbPrice = calBBB(buyPrice, buyAmt, allAmt, gainMoneyAmt, 0, stampTaxRate, brokerRate, transferFeeRate / 100, 1);
}
calList[1][3] = function () {
result.bbPrice = calBBB(buyPrice, buyAmt, allAmt, gainMoneyAmt, 0, stampTaxRate, brokerRate, transferFeeRate / 100);
}
if(!max) max=5;试试