どのように確認す変数が読み込まれJavaScript?
-
01-07-2019 - |
質問
いがあるオブジェクトがロードされていなかでロードするようには次のうちどれでしょう?
if (!isObjectLoaded(someVar)) {
someVar= loadObject();
}
解決
であればオブジェクトを使うにチェックインすることはできるかどうかを確認する nullの場合 または 未定義 を負荷するものであれば問題なのです。
if (myObject === null || myObject === undefined) {
myObject = loadObject();
}
を使用 typeof 機能もオプションを返しますオブジェクトの型を提供する。ただし、戻りま nullまたは未定義 オブジェクトが次のどれかの場合はロードされてい何をやってもうまくいかないガビット個人の嗜好について読む
他のヒント
if(typeof(o) != 'object') o = loadObject();
myObject = myObject || loadObject();
お使いいただくことによって利用することにより"ロード"...なに可変 object
存在しない型れました。その場合は、通りを少し入った場所のようなもの:
function isObjectType(obj, type) {
return !!(obj && type && type.prototype && obj.constructor == type.prototype.constructor);
}
およびその利用 if (isObjectType(object, MyType)) { object = loadObject(); }
.
の場合 object
ずれも前に試験(ie- typeof object === 'undefined'
しあなただけのものが必要
if ('undefined' === typeof object) { object = loadObject(); }
だが、指定されたオブジェクトが 定義
特に、験者が修行した道場とされてい非同期レsetTimeout時に確認することです。
var generate = function()
{
window.foo = {};
};
var i = 0;
var detect = function()
{
if( typeof window.foo == "undefined" )
{
alert( "Created!");
clearInterval( i );
}
};
setTimeout( generate, 15000 );
i = setInterval( detect, 100 );
における理論を検出するたウインドウです。fooが存在.
場合により積載トを利用することの定義を確認することができる型の変数にtypeofます。 しかし typeofでしかできない癖をオブジェクト、配列、 nullの場合 オブジェクトとして
alert(typeof(null));
特にnullとして定義されたオブジェクトでしょうがプログラムなので、チェックのようにな
if(null !== x && 'object' == typeof(x)){
alert("Hey, It's an object or an array; good enough!");
}
いかがですか利用ショートカット if(obj)
したい場合に検出するカスタムオブジェクト:
// craete a custom object
function MyObject(){
}
// check if it's the right kind of object
if(!(object instanceof MyObject)){
object = new MyObject();
}
typeof(obj)
り戻すこと"オブジェクト"のためのクラスのオブジェクトの中で、他の可能な値です。
if (!("someVar" in window)) {
someVar = loadObject();
}
お伝えするかどうかJSしてのグローバル someVar
または宣言されたトップレベルの var someVar
.
上で動作する場合でも、ロードされた値が undefined
.