我应该把“;var”;以便获得特定的值
where should I put "var" in order to get specifc values
这是一个代码片段任务-您应该在其中输入"var"(任意数量),以便在第一个警报中得到17,在第二个警报中获得21。我想我以前遇到过这个问题,但还是没能解决这个问题。
a = 3;
b = 2;
function line(x) {
a = 5;
b = 4;
return a*x + b
}
//b should be 17
b = line( a ) - b;
alert( b );
//c should be 21
c = line ( a ) + b;
alert(c);
如果你把"var"放在b前面的函数中,它会提醒"17"。下一个警报给我们46,因为函数返回了新的b值。
function line(x) {
a = 5;
var b = 4;
return a*x + b
}
这就是任务的来源:
http://www.codecademy.com/courses/javascript-for-jquery/1?curriculum_id=4fc3018f74258b0003001f0f/#/练习/3
完全按照给定的方式使用给定的内容是不可能的。
我的意思是,如果呼叫:
c = line(a) + b;
取决于b的值,该值是处的赋值
b = line(a) - b;
那么,让a
成为一个非常小的数字,或者让b
成为一个显著大的负数,都是100%不可能的。
因此,我认为它们应该是两张独立的支票。
最好的情况是,如果我们试图包含b=17
:
a = 3;
3 * 5 = 15 + 4 = 19 + 4 = 23;
这是你将得到的最小的,假设你背靠背跑两个。即使你这样做,你也不会在第一次跑步时得到b = line(a) - b = 17
。。。
如果是写的:
c = line(a) - b;
d = line(a) + b;
然后你可以连续运行这两个程序,并得到预期的结果。
或者你可以运行:
var a = 3,
b = 2;
function line (x) {
var a = 5,
b = 4;
return a*x + b;
}
b = line(a) - b;
得到17分。
然后你可以运行:
var a = 3,
b = 2;
function line (x) {
var a = 5,
b = 4;
return a*x + b;
}
c = line(a) + b;
(即:使用不同的发起者进行完全相同的设置,并且没有上次调用返回时保存的b
值),并获得所需的结果。
但是,不可能一个接一个地运行它们,并期望它们都能工作,而不对代码执行任何操作,只添加一个var
或四个。
如果你想保持一致性,就保持你的函数是这样的。在a和b之前使用"var"将使它们成为函数块和该调用的本地值。否则,它们将引用全局变量。
function line(x) {
var a = 5;
var b = 4;
return a*x + b
}
相关文章:
- 我应该如何从xml文件构建一个javascript页面
- 我应该使用Ng提交还是点击表格
- 在Redux中,我应该在哪里编写复杂的异步流
- 我应该如何检查主干.主干.模型更改时查看
- 我应该先学习Angularjs还是Laravel
- 是否有任何可能的原因使我应该指定类型=“”;按钮“;用于我的按钮元素
- 在ES6 Promise中,我应该在解决/拒绝之前使用return吗
- 我应该将MVC视图特定的javascript文件放在哪个文件夹中
- 我应该始终删除EventListener吗
- 我应该如何衡量JS的单元测试覆盖率?我可以'我对jscoverage不满意
- 当一些事情可以通过JS或CSS完成时,我应该选择哪种方式
- 我应该如何将响应数据保存在对象(json)中以获得更好的操作和性能
- 我应该如何声明我的自调用函数
- 我应该/如何清除mousemove JQuery事件侦听器
- 我应该如何在 UL 内触发 IMG 标签的点击
- 我应该返回一个类似console.log()的方法调用吗
- 我应该总是将模块调用到var中,还是在节点中立即执行
- 我应该把“;var”;以便获得特定的值
- JS:我应该在点击(或等效)事件中设置一个var/let吗?
- 在javascript中,我应该尽可能使用const而不是var