*#type.js
复制代码代码如下:
وظيفة الشخص (الاسم ، العمر) {
this.name = name ؛
this.age = العمر ؛
}
var d = {an: 'object'} ؛
var a = ['Apple' ، 'Banana'] ؛
var f = function () {} ؛
var s = 'David' ؛
var n = 33 ؛
var b = true ؛
var o = new Object () ؛
var person = شخص جديد ('Mark' ، 22) ؛
console.log (typeof (d) + ':' + d.Constructor) ؛
console.log (typeof (a) + ':' + a.constructor) ؛
console.log (typeof (f) + ':' + f.constructor) ؛
console.log (typeof (s) + ':' + s.constructor) ؛
console.log (typeof (n) + ':' + n.constructor) ؛
console.log (typeof (b) + ':' + B.Constructor) ؛
console.log (typeof (o) + ':' + o.constructor) ؛
console.log (typeof (person) + ':' + person.constructor) ؛
运行 $ node type.js 得
复制代码代码如下:
الكائن: وظيفة الكائن () {[الكود الأصلي]}
الكائن: دالة صفيف () {[الكود الأصلي]}
الوظيفة: وظيفة الوظيفة () {[الكود الأصلي]}
السلسلة: سلسلة الوظائف () {[الكود الأصلي]}
الرقم: رقم الوظيفة () {[الكود الأصلي]}
منطقية: وظيفة منطقية () {[الكود الأصلي]}
الكائن: وظيفة الكائن () {[الكود الأصلي]}
الكائن: وظيفة person () {[الكود الأصلي]}
可见 ، 使用 typeof 操作符和 carcor 属性检测对象类型返回值是存在差异的.
如果变量是数组 ، typeof 操作符返回 كائن ، مُنشئ 属性返回 صفيف ؛
如果变量是构造函数对象 ، typeof 操作符返回 كائن ، مُنشئ 属性返回该构造函数
每个变量都有其 البناء 属性 ، 这个属性不单单提供了这个是否对象 ، 还提供了这个对象是什么类型的对象. 总之 ، مُنشئ 属性保存了一个指向对象的构造函数 ، 无论它是自定义的还是原生类型的对象.
有一点需要注意的是 ، 不同的浏览器对 typeof 操作符检测正则表达式会有所不同 ، ie 和 firefox 会返回 'object'.
好了 , 今天内容就先到这里了 , 小伙伴们如有疑问 , 就在下方留言吧。