在JavaScript中将函数结果分配给变量

在JavaScript中将函数结果分配给变量,javascript,function,variables,Javascript,Function,Variables,我正在学习JavaScript,希望了解这种行为 我正在研究以下代码: 函数multiNum(x,y){ 返回x*y } var-num=multiNum(3,4); document.write(num) 我试着自己打这个,这就是我想到的: 函数multiNum(x,y){ 返回x*y } 文件写入(多重数(3,4)) 我想我可以将multiNum(3,4)放入文档中。write()而不是生成另一个变量 因此,我必须创建另一个变量并将新变量放入document.write()?这只是一条规

我正在学习JavaScript,希望了解这种行为

我正在研究以下代码:

函数multiNum(x,y){ 返回x*y } var-num=multiNum(3,4); document.write(num) 我试着自己打这个,这就是我想到的:

函数multiNum(x,y){ 返回x*y } 文件写入(多重数(3,4)) 我想我可以将
multiNum(3,4)
放入
文档中。write()
而不是生成另一个变量


因此,我必须创建另一个变量并将新变量放入
document.write()

这只是一条规则吗?您的两个示例都是正确的,并且将产生相同的结果。这只是风格的问题

如果您希望代码更易于阅读,那么最好像第一个示例中那样将其分离出来

如果您希望代码的大小更小。那么第二个例子是最好的


把事情分开是最好的做法。

您不必创建额外的变量,但很多时候它使代码更易于阅读和理解。他们说你的变量名通常应该描述它的内容,这样每个人,包括其他不知道代码的人,都可以对正在发生的事情有一个基本的了解


在您的示例中,不需要创建额外的变量,因为它是一个非常简单的代码段。不管怎样,我喜欢创建它们,只是为了保持这样做的节奏。但是这是你的选择。

你对第二个解决方案所做的非常有效

通常,第一种方法只有在希望以后在脚本中使用
multiNum(3,4)
的计算值时才有用。这就是为什么要将它存储在一个单独的变量中,这样就不必再次计算值


如果您确信不再需要它,那么您以后作为
document.write(multiNum(3,4))
所做的是最好的方法。

这是一个有趣的问题,为了充分理解它,研究它将是有益的。javascript中的赋值基本上如下所示

variable_name = expression
创建该
变量时,将计算
表达式

//so this
number = 3 * 5
//is the same as
number = 15
函数
可以使用表达式、文本(如
字符串
int
)或变量名来调用

// '|' means 'or'
function(expression | literal | variable)
如果将表达式传递给函数
函数(表达式)
,则该
表达式将首先求值,然后传递到函数中

// so
function(3*5)
//is the same as
function(15)
函数调用也是如此。如果在另一个函数内调用函数,则首先对其求值,其结果为外部函数参数

让我们看看这个例子

function increment(number){
 return number + 1
}
n = 1
document.write(increment(n))
首先调用
document.write
,参数为
increment(n)
n=1

//so 
increment(n) = increment(1) = 2
//following me? now we can see that
document.write(increment(n)) 
//is the same as
document.write(2)
//!!

我希望这有帮助

编辑:

把它带回你的例子

function multiNum(x,y){
  return x*y
}
var num = multiNum(3,4) // num = 12
//so
document.write(num)
//is the same as
document.write(12)


您不必创建变量。在大多数情况下,当变量名有意义时,它更容易阅读,并且避免了代码混乱。这里,你的例子很简单。但是想象一下有类似于
a(b(c(42,c('x')))
。这更难阅读(哪个右括号对应于左括号?),将其分解为命名良好的变量将使所有内容更易于维护。因此,这最终会使代码更易于阅读和理解!非常感谢。此外,有时需要多次使用函数的结果。通常,将其保存在变量中比反复调用函数要好。识别基本技术问题并在解释器看到的逻辑中穿行,而不是简单地验证它是否正确,这是一件很好的工作。这对于未来的读者帮助他们理解JavaScript解释器如何解析表达式应该很有用。