【发布时间】:2023-04-06 07:24:01
【问题描述】:
我还在学习 JavaScript,阅读书籍,使用 FireBug,进行实验。
我很惊讶并坚持下面的事情。
有函数声明:
var t = function (args){
...
}
假设它是可变参数。
我这样称呼它:
<body onload="t({to:100,from:0})">
可以通过调用得到from参数值:
args.from
typeof args.from 的结果是number
这看起来很正常。
注意:number 是小写
我对@987654328@ 是什么实例感兴趣。
实际上,无法获取其实例值。
试过了:
args.from instanceof Number
args.from instanceof String
args.from instanceof Object
args.from instanceof Boolean
不是Number - 很奇怪
这不是Object - 很奇怪
不是String - 没关系
不是Boolean - 没关系
既不是 null 也不是 'undefined' - 看起来不错。
这是什么?
【问题讨论】:
-
顺便说一句,这不是可变参数;它是一个普通的参数,恰好包含一个对象。
-
是的,我知道,我写道,它是“假定的”可变参数,与 Java 相反,应该明确声明
-
原始数字类型的值不是任何东西的“实例”。
instanceof运算符用于对象值,而不是原始值... -
...所以,对于原始值使用
typeof,对于对象值使用instanceof...
标签: javascript function arguments instanceof typeof