どのように伝えれば、JavaScript関数が定義され
-
01-07-2019 - |
質問
どうしないといけないと考えている場合は、JavaScriptの機能です。
もう少し前向きなことをやりたいこのような
function something_cool(text, callback) {
alert(text);
if( callback != null ) callback();
}
で取得した
コールバック機能ではありません
エラー時のコールバック関数が定義されていない。
解決
typeof callback === "function"
他のヒント
すべての解答用のリテラル文字列、も好きになった場合、できる限りしない(提供の貴重な意味意味で、ブート):
function isFunction(possibleFunction) {
return typeof(possibleFunction) === typeof(Function);
}
個人的にはうまく働かなくなったので、数を減ら文字列を掛ける私のコー---
また、それは typeof
であるオペレーターなどの機能が損害を使用書式で表示しています。
if (callback && typeof(callback) == "function")
このコールバック(もの)に評価し false
であれば undefined
, null
, 0
, や false
.と比較 null
が過度に固有のものです。
の方法を教えてくれる機能を実装しもない変数が定義されていないので使っていうより強力な支援を受ける文字列:
function isFunctionDefined(functionName) {
if(eval("typeof(" + functionName + ") == typeof(Function)")) {
return true;
}
}
if (isFunctionDefined('myFunction')) {
myFunction(foo);
}
新しいJavaScriptいしてお使いいただく場合には、行動を変えても解決されたジェイソンジ(6年前)になる場合possibleFunctionが定義されていない。
function isFunction(possibleFunction) {
return (typeof(possibleFunction) == typeof(Function));
}
をスローします ReferenceError: possibleFunction is not defined
エラーについての意見交換を行うことを解決するシンボルpossibleFunction(てへのコメントにジェイソンの応答)
これを避けるために行動できるパス名の機能を確認したい場合は世界最大の国際人権ngoです。なので
var possibleFunction = possibleFunction || {};
if (!isFunction(possibleFunction)) return false;
この値は可変にする機能を確認したいまたは、空のオブジェクトの場合は定義されていないので回避は、上記の諸問題
う:
if (typeof(callback) == 'function')
私立場から展開させていただき
try{
callback();
}catch(e){};
私が受け答えがないことを示唆す。んだが、この慣用的な作品があります。
新しいJavaScriptエンジンa finally
きができるようにしております。
if ('function' === typeof callback) ...
typeof(callback) == "function"
function something_cool(text, callback){
alert(text);
if(typeof(callback)=='function'){
callback();
};
}
してみてください:
callback instanceof Function
を見れば 源 図書館の@Venkat Sudheer-レディAedama、underscorejsです:
_.isFunction = function(obj) {
return typeof obj == 'function' || false;
};
あくまでヒントにヒントanswer:>
う:
if (!(typeof(callback)=='undefined')) {...}
ご利用の場合 http://underscorejs.org, す:http://underscorejs.org/#isFunction
_.isFunction(callback);
この確認方法の場合、jQueryの機能を定義したくなかったです。
もる必要がありま;)
if(typeof jQuery.fn.datepicker !== "undefined")
の場合 callback()
ごく一時間関数が初期化"の論理の再利用:
callback = (typeof callback === "function") ? callback : function(){};
例えば:
function something_cool(text, callback) {
// Initialize arguments
callback = (typeof callback === "function") ? callback : function(){};
alert(text);
if (text==='waitAnotherAJAX') {
anotherAJAX(callback);
} else {
callback();
}
}
を制限するということを常に実行するコールバック関数の引数ですが定義されていません。
グローバル機能を利用することができ一つの代わりに eval
提案の応答となります。
var global = (function (){
return this;
})();
if (typeof(global.f) != "function")
global.f = function f1_shim (){
// commonly used by polyfill libs
};
利用できる global.f instanceof Function
もafaik.の値 Function
することになっているフレームで動作とシングルフレームの願います。その通常の使用 typeof
です。るということに注意してくださかの環境が異常と typeof f
でも、例えばにより行6-8一部の機能例 alert
た"オブジェクト"タイプ以外は行えません。
地元の機能を使用できますの受け入れの答えです。できるかどうかを試験機では、地域やグローバルです。
if (typeof(f) == "function")
if (global.f === f)
console.log("f is a global function");
else
console.log("f is a local function");
との問いに答えるには、コード例は、はんなエラーに最悪影響くまでお問い合わせくださいった問題はないものとします。
function something_cool(text, callback) {
alert(text);
if( callback != null ) callback();
}
注意:混雑して待たされること callback !== undefined
の代わりに callback != null
, なんと、ほぼ同じ割合となっている。
最ない場合、以前のすべて回答してい副作用を呼び出す機能
ここで最高の実
い機能
function myFunction() {
var x=1;
}
//direct way
if( (typeof window.myFunction)=='function')
alert('myFunction is function')
else
alert('myFunction is not defined');
//byString
var strFunctionName='myFunction'
if( (typeof window[strFunctionName])=='function')
alert(s+' is function');
else
alert(s+' is not defined');
であることを求
function something_cool(text, callback){
callback && callback();
}