私はまだJavaScriptを学んでおり、書籍を読んでおり、FireBugを利用して実験しています。JavaScript instanceof:関数の引数のインスタンスを定義できません
私は次のものに驚いております。
は、関数の宣言を持っている:
var t = function (args){
...
}
それは可変引数だと、想定しています。 typeof args.from
の結果は正気に見えnumber
ある
args.from
:
<body onload="t({to:100,from:0})">
それが呼び出すことによってfrom
引数の値を取得することが可能です:
は、私は次のようにそれを呼び出します。
注意を払う:number
私は何インスタンスargs.from
あるの興味が下部ケース
です。
実際には、インスタンス値を取得できません。
が試み:
args.from instanceof Number
args.from instanceof String
args.from instanceof Object
args.from instanceof Boolean
Number
ではありません -
それはObject
ではありません非常に奇妙な - 非常に奇妙な
それはOKだ - つまりString
はありませんOKです - つまり
それはないBoolean
イッツどちらnull
も'undefined'
- OKです。
この意味は?
ところで、それは可変引数ではありません。それはオブジェクトを保持する通常のパラメータです。 – SLaks
はい、私は書きましたが、Javaとは正反対の "想定" varargsであることを明確に宣言する必要があります – sergionni
プリミティブ型Numberの値は "何のインスタンス"でもありません。 'instanceof'演算子は、プリミティブな値ではなくオブジェクトの値に使用されます... –