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