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

时间:2020-04-03 18:47:24

标签: javascript function variables

我正在学习JavaScript,并且想了解这种行为。

我正在研究以下代码:

function multiNum(x,y){
  return x*y
}
var num = multiNum(3,4);
document.write(num)

我试图自己输入此字,这就是我想出的:

function multiNum(x,y){
  return x*y
}
document.write(multiNum(3,4))

我以为我可以将multiNum(3,4)放到document.write()中,而不用创建另一个变量。

那么,我是否必须创建另一个变量并将新变量放入document.write()中只是一个规则?

4 个答案:

答案 0 :(得分:1)

您的示例都是正确的,并且将产生相同的结果。只是样式问题。

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

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

最好把事情分开。

答案 1 :(得分:1)

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

在您的示例中,由于它是一个非常简单的代码段,因此并不需要太多创建额外的变量。无论如何,我还是喜欢创建它们,只是为了保持节奏。但这是您的选择。

答案 2 :(得分:1)

这是一个有趣的问题,为了充分理解它,深入研究javascript expressions是有益的。基本上,JavaScript中的分配看起来像

variable_name = expression

创建variable时,expression会被评估

//so this
number = 3 * 5
//is the same as
number = 15

Functions可以用表达式,文字(如stringint)或变量名来调用

// '|' means 'or'
function(expression | literal | variable)

如果将表达式传递给函数function(expression),则首先对expression求值,然后将其传递给函数。

// 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)

答案 3 :(得分:0)

您对第二种解决方案所做的工作非常有效。

通常,只有在希望稍后在脚本中使用multiNum(3,4)的计算值时,第一种方法才有用。因此,您将其存储在单独的变量中,从而不必再次计算该值。

如果您确定不再需要它,那么以后做的document.write(multiNum(3,4))是最好的选择。