*#type.js
复制代码代码如下:
ฟังก์ชั่นบุคคล (ชื่ออายุ) {
this.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 = วัตถุใหม่ ();
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 得
复制代码代码如下:
Object: function object () {[รหัสดั้งเดิม]}
Object: function Array () {[Native Code]}
ฟังก์ชั่น: ฟังก์ชันฟังก์ชัน () {[รหัสดั้งเดิม]}
สตริง: สตริงฟังก์ชัน () {[รหัสดั้งเดิม]}
หมายเลข: หมายเลขฟังก์ชัน () {[รหัสดั้งเดิม]}
บูลีน: ฟังก์ชั่นบูลีน () {[รหัสดั้งเดิม]}
Object: function object () {[รหัสดั้งเดิม]}
Object: function person () {[รหัสดั้งเดิม]}
可见, 使用 typeof 操作符和 Constucor 属性检测对象类型返回值是存在差异的
如果变量是数组, typeof 操作符返回วัตถุ, ตัวสร้าง属性返回อาร์เรย์;
如果变量是构造函数对象, typeof 操作符返回 Object, Constructor 属性返回该构造函数
每个变量都有其 Construcor 属性, 这个属性不单单提供了这个是否对象, 还提供了这个对象是什么类型的对象 总之, Constructor 属性保存了一个指向对象的构造函数, 无论它是自定义的还是原生类型的对象
有一点需要注意的是, 不同的浏览器对 typeof 操作符检测正则表达式会有所不同, เช่น firefox 会返回 'วัตถุ'
好了, 今天内容就先到这里了, 小伙伴们如有疑问, 就在下方留言吧。