function is_mandatory(string){
if(string.length > 0)
return true;
}
現在定義的JavaScript函數,我試圖調用定義爲刺痛名
var is_mandatory;
is_mandatory("Check");
功能,而且,這將返回錯誤說變量不是函數。我怎樣才能從字符串名稱調用函數。
乾杯!
function is_mandatory(string){
if(string.length > 0)
return true;
}
現在定義的JavaScript函數,我試圖調用定義爲刺痛名
var is_mandatory;
is_mandatory("Check");
功能,而且,這將返回錯誤說變量不是函數。我怎樣才能從字符串名稱調用函數。
乾杯!
您重新定義is_mandatory
作爲一個未定義的變量當您運行此代碼:
var is_mandatory;
但我不認爲這是你的意圖。完全刪除那條var
行。
它是'undefined'而不是'null'。 –
對不起,我不是JS大師。對我而言,'null'和'undefined'聽起來很像...... – Blender
沒問題。它們是相似的概念,只是不同的實際值。 –
用你的函數初始化你的變量,然後嘗試調用它。
var is_mandatory = is_mandatory;
is_mandatory("Check");
如果變量是在窗口的範圍內聲明的,你可以這樣做:
function is_mandatory(str){
if(window[str].length > 0)
return true;
}
這將工作。
function is_mandatory(str){
return (str.length > 0);
}
is_mandatory("Check");
您不必申報var
用相同名稱的方法is_mandatory
您已經定義的變量,這就是爲什麼你得到這樣的錯誤。嘗試更改'var is_mandatory;'的變量名稱。 –
你不是試圖調用定義爲字符串名稱的函數。 –
[如何執行一個JavaScript函數時,我的名字是一個字符串]可能的重複(http://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have -its-name-as-a-string) – Strelok