[英]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.