在单个JavaScript函数中创建表达式

在单个JavaScript函数中创建表达式,javascript,Javascript,有没有一种方法可以只通过一个函数而不是两个函数输出结果?我目前正在学习JavaScript,我想使用document.write而不是getElementById调用函数,这就是我遇到的问题: <script type="text/javascript"> function addstrings(fname, lname) { var full; full = fname + lname; return

有没有一种方法可以只通过一个函数而不是两个函数输出结果?我目前正在学习JavaScript,我想使用
document.write
而不是
getElementById
调用函数,这就是我遇到的问题:

<script type="text/javascript">  
    function addstrings(fname, lname) 
    { 
        var full; 

        full = fname + lname; 
        return  full; 
    } 

    function myfunction() 
    { 
        result = addstrings('Jerome', 'Smith'); 
        document.write (result); 
    } 
</script> 
</head>  
<body>
<script>
    myfunction(); 
</script>

函数addstrings(fname,lname)
{ 
var满;
full=fname+lname;
全额退还;
} 
函数myfunction()
{ 
结果=addstrings('Jerome','Smith');
记录(结果);
} 
myfunction();

好的,这是重构后的代码,然后我将解释发生了什么:

<head>
  <script>
    const addStrings = function (firstName, lastName) {
      return firstName + lastName;
    };

    const addStringsAlternate = (firstName, lastName) => firstName + lastName;
  </script> 
</head>
<body>  
<script>
  document.write(addStrings('Jerome', 'Smith'));
  document.write(addStringsAlternate('Jerome', 'Smith'));
</script>

const addStrings=函数(firstName,lastName){
返回firstName+lastName;
};
const addStringsAlternate=(firstName,lastName)=>firstName+lastName;
编写(addStrings('Jerome','Smith');
书写(addStringsAlternate('Jerome','Smith'));
那么这里发生了什么

  • 代码风格很重要。使用描述性变量名。用例。使用单引号,而不是双引号。使用缩进。大多数人喜欢2个空格,像我一样,其他人使用4或制表符。任何一个都可以,但要坚持使用一个

  • 要直接回答您的问题,您可以直接在
    文档中调用
    addStrings
    函数
    addStrings()
    将字符串返回到
    文档。write
    ,然后将字符串写入DOM

  • 注意我是如何重构函数的
    addStrings

  • 在js中声明变量有3种方法<代码>变量
    常量
    。特别是因为您正在学习,我强烈建议您坚持使用
    let
    const
    var
    会给您带来一些您现在不需要解决的问题。一般来说,
    const
    意味着“这个变量在将来永远不会改变”
    let
    类似于
    var
    ,表示“以后可以重新分配此变量”

    几年前添加了
    let
    const
    的原因与变量范围有关,这意味着在程序中的何处可以找到变量。在不深入研究的情况下,
    const
    强制变量只存在于声明的范围内。我建议您在谷歌上搜索
    let vs var
    const vs var
    ,并注意有关范围的信息


    您最初声明
    addStrings
    的方法完全有效,但我想向您展示一些替代方法。基本上,您可以将函数声明为正则变量,而不需要
    函数
    关键字。在
    addStringsAlternate
    函数中,它使用“arrow function”声明。当您开始学习
    这个
    (与作用域相关)时,arrow函数将是您的朋友。有些情况下,箭头函数可能会导致问题,但我们现在不需要讨论这个问题。无论如何,请注意,在箭头函数中,我没有使用
    return
    。在arrow函数中,如果您正在执行一个简单的操作,则只需在
    =>
    之后写入代码,并且返回是自动的。

    result=addstrings('Jerome','Smith')可以是
    result='Jerome Smith'文档。尽量多写
    。我不清楚你想问什么。可以将一个函数放在另一个函数中,也可以将一个函数的功能放在另一个函数中。为了避免将来的否决票,您可能想先在freecodecamp.com这样的初学者社区呆上一段时间,然后再在这里问更多问题。为什么会有
    head
    body
    以及两个脚本元素?