在Java中,可以使用instanceOf
或getClass()
在变量上查找其类型。
如何在JavaScript中找出不是强类型的变量类型?
例如,如何知道bar
a是a Boolean
还是a Number
或a String
?
function foo(bar) {
// what do I do here?
}
用途typeof
:
> typeof "foo"
"string"
> typeof true
"boolean"
> typeof 42
"number"
因此,您可以执行以下操作:
if(typeof bar === 'number') {
//whatever
}
但是,如果用它们的对象包装定义了这些原语,则要小心(永远不要这样做,请尽可能使用文字):
> typeof new Boolean(false)
"object"
> typeof new String("foo")
"object"
> typeof new Number(42)
"object"
数组的类型为still
object
。在这里,您确实需要instanceof
操作员。
更新:
另一种有趣的方式是检查以下内容的输出Object.prototype.toString
:
> Object.prototype.toString.call([1,2,3])
"[object Array]"
> Object.prototype.toString.call("foo bar")
"[object String]"
> Object.prototype.toString.call(45)
"[object Number]"
> Object.prototype.toString.call(false)
"[object Boolean]"
> Object.prototype.toString.call(new String("foo bar"))
"[object String]"
> Object.prototype.toString.call(null)
"[object Null]"
> Object.prototype.toString.call(/123/)
"[object RegExp]"
> Object.prototype.toString.call(undefined)
"[object Undefined]"
这样,您就不必区分原始值和对象。
问题内容: 是否可以通过名称来在页面上查找JavaScript变量(将其作为对象)?变量名可用作字符串常量。 问题答案:
有一个代码: 当我试图获取或时,它只显示。但是 我不明白,为什么会这样。
所以我有一个类类型的列表。例如,我有一个教室和一个学生班。 我创建了一个学生列表:
问题内容: 简而言之,问题 是 : 有没有一种方法可以防止Python在当前作用域之外查找变量? 细节: 如果在当前作用域中未定义变量定义,Python将在外部作用域中查找它们。因此,这样的代码在重构过程中如果不小心,很容易中断: 如果我重命名了函数参数,但忘了在函数体内重命名它们,代码仍将运行: 我知道从外部范围中隐藏名称是一种不好的做法。但是,无论如何都有一些原因: 有时使用相同的名称可能很有
我面临的问题是,我必须将一个更大的html和javascript项目翻译成几种语言。html的内容没有问题,但是大量的javascript文件是有问题的,因为我在开发过程中有点懒。例如,如果我需要一个消息文本,我只是把它添加在有关的位置。 我现在的方法是,我对每一次出现的和,都使用内置文件搜索(Eclipse),这将非常耗时,错误不可避免。 以下是文件中出现的一些示例: 有时我混合使用和,有时一个
问题内容: 我在以下代码中收到“ ORA01006绑定变量在第15行不存在”错误: 我只是试图遍历表中的所有字符列,并计算每个字符列中与v_search_string值匹配的值。 行“ dbms_output.put_line(v_query_str);” 打印一行:SELECT COUNT(*)FROM T1 WHERE Col1 Like’%:1%’ 表中有10列是指定的类型。 显然那里有一个