【问题标题】:Javascript function undefined returnJavascript函数未定义返回
【发布时间】:2016-02-03 07:49:19
【问题描述】:
<script>
    var tarih = tarih();
    alert(tarih);
    function tarih() {   
       var s=emrah;
       return(s);
    }
</script>

Bu fonksion neden undefined dönüyor ?

为什么“未定义”返回?

【问题讨论】:

  • 因为 emrah 是未定义的,所以 s = emrah 使 s 未定义,return s 使 return 未定义 ... 同样var tarih = tarih(); 会为 tarih 分配返回值,然后函数 tarih 不会不再存在
  • 没有,代码会产生运行时错误。

标签: javascript return undefined


【解决方案1】:

返回undefined的原因,是因为赋值

var s = emrah  

让 JS 感到困惑。因此,它会寻找一个变量名称 emrah 并没有找到它。这就是原因,你得到undefined。另外,如果您正在查看您的控制台,它已经给了您一条错误消息,即

emrah is not defined

您可能想尝试:(如果这是您想要的)

var s = 'emrah'

【讨论】:

  • 这是不正确的。当您尝试读取未声明的变量时,JavaScript 不会创建全局变量。它会引发错误。
  • @FelixKling,如果你使用了'use strict',它会抛出一个错误,否则它会创建它。
  • 哈哈,我相信你:)。会接受的,我的印象是,确实如此。谢谢你。
【解决方案2】:

您是在定义之前调用该方法。

把代码改成这样。

<script>
    function tarih() {   
       var s='emrah';
       return(s);
    }
    var tarih = tarih();
    alert(tarih);
</script>

【讨论】:

  • 函数声明被提升。
猜你喜欢
  • 1970-01-01
  • 2019-01-07
  • 2021-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-26
  • 2018-09-22
相关资源
最近更新 更多