首页 > 解决方案 > 我可以知道为什么它不阅读声明吗?

问题描述

下面的代码只执行 smith。你好没有执行。如果我写 document.write("Hello") 它的工作。为什么 var 没有发生这种情况。清楚地解释这一点。

function x(a) {
    var s = "Hello";
    a(s);
    }

function y() {
    document.write("Smith");
    }

x(y);

标签: javascript

解决方案


您的y函数不接受或不使用参数,因此给它“hello”不会做任何事情。

您需要更改y为类似

function y(extraText){
  document.write('Smith');
  document.write(extraText);
}

所以你看,y现在有一个参数被调用extraText,所以当你用“hello”调用它时,它会同时写出“Smith”和“hello”。


推荐阅读