3

変数の型を一致させる関数を作成しています。の代替品になりtypeof <var> === "something"ます。

私の関数呼び出しは次のようになります: is("some text")["string"]. true または を返しますis([])["element"]。今はfalseを返しますが、問題があります。

たとえば、「undefVar」のような未定義の変数を関数に送信しようとすると、次のようになると予想is(undefVar)["undefined"]されますが、「undefVar」が定義されていないというエラーが表示されます。

未定義の変数を使用して関数を機能させることはできますか? これはまったく可能ですか?

ps:is(var)[type]この関数を頻繁に使用する必要があるため、(私にとっては) typeof var === type.

4

2 に答える 2

1

typeof存在しない変数に特別です。関数で模倣することはできません。

于 2012-10-01T13:06:18.657 に答える
1

いいえ、呼び出しサイトから関数に未定義の変数を盲目的に渡し、これに対応するためにJSエンジンの動作をグローバルに変更することはできません。

typeofは組み込みの演算子であり、「共通」関数の規則に拘束されないため、カスタム関数では実行できないことを実行できます。

最後に、可能であっても、代替構文を使用することが実際上望ましいとは強く反対します。

于 2012-10-01T13:06:34.860 に答える