var y;
function modify(x) {
var z = 5;
x += 2;
y += x + z
}
var x = 1,
y = 2,
z = 3
modify(x)
上面的片段结果是x=1,y=10,z=3,请解释这段代码。提前致谢
在modify函数中,“x”在modify的作用域中,而不是在全局作用域中使用x。此外,基元类型(如数字)是通过值而不是引用传递的。因此,x总是保持1。
同样在modify函数中,您要在modify函数的作用域中声明一个新的变量z,所以就像x一样,z将保持为3。
由于函数中没有声明y,它将使用全局作用域,所以这是唯一要改变的作用域。在这个例子中,它是2+((1+2)+5),这就是你得到10的方法。
问题内容: 执行此操作后(幕后)会发生什么? 也就是说,当变量在一个语句中后增加并分配给它自己时?我编译并执行了这个。 即使整个陈述之后仍然是7 。在我的书中,它说是递增的! __ 问题答案: 确实增加了。但是,您正在将back 的旧值分配给自身。 递增并返回其旧值。 将旧值分配回自己。 因此,最后将其分配回其初始值。
问题内容: 我遇到了这种语法: 这个带有两个点的语法是什么? 在哪里可以找到有关它的信息? 它仅适用于布尔值还是以其他不同方式实现? 问题答案: 是条件运算符。(不只是一部分,整个方法参数是示例中条件运算符的一种用法。) 它通常被称为三元运算符,但这只是其本质的一个方面-具有三个操作数- 而不是其名称。如果在Java中引入了另一个三元运算符,则该术语将变得模棱两可。之所以称为条件运算符,是因为它有
为什么我的代码要打印这个,而不是打印保存在数据库中的学生姓名? 下面是我的代码:
null 提前谢谢你。
问题内容: 我生成了x的两个矩阵: 第一矩阵:和。 第二矩阵:和。 使用以下代码,第一个矩阵花费了8.52秒完成: 使用此代码,第二个矩阵花费了259.152秒来完成: 运行时间显着不同的原因是什么? 正如评论所说,仅打印需要秒,而给。 正如其他指出它对他们正常工作的人一样,例如,我尝试了Ideone.com,这两段代码以相同的速度执行。 测试条件: 我从 Netbeans 7.2 运行了此测试,
所以我有这个代码,叫我白痴哈哈,但是我不能让它打印7。 代码: 我需要知道如何改变与函数中的参数同名的变量。 任何帮助都将不胜感激,如果你不明白这个问题,我很乐意解释更多。