繁体   English   中英

无法识别功能声明

[英]function declaration not being recognized

我的代码有一个函数声明

var string = function(){..}

稍后在代码中,我将其用作

var value = function(){

  ...
  string();
}

变量值在字符串后定义。 应该没有理由不将字符串识别为函数。

在此处显示Plnkr: http ://plnkr.co/edit/9tRZnIVlRkNadPXCKsla?p = preview

如果你只是运行plnkr,错误将出现在line 98

问题出在第42行:您写了var hex, i, stirng = ''; 而不是string 修复变量名称,它将起作用!

你有一个命名变量的事实string调用的函数里面string是不是一个问题,因为有些人是因为范围说明。 string函数内部,对string任何引用都将解析为内部变量string ,而不是函数。

您的string函数的第42行有错字:

41 var string = function() {
42  var hex, i, stirng = ''; // typo 'stirng' for 'string'
43

因此在第53行, string是指函数string 当您尝试向其添加字符串ch时,它被强制转换为字符串。

52      } else {
53        string += ch; // the function string is coerced to string
54      }

然后在第91行调用string该函数已被字符串替换( string.toString() + ch的结果),从而导致错误Uncaught TypeError: string is not a function

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM