DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> javascript中typeof操作符和constucor屬性檢測
javascript中typeof操作符和constucor屬性檢測
編輯:關於JavaScript     

*#type.js

復制代碼 代碼如下:
function Person(name, age) {
 this.name = name;
 this.age = 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 = new 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() { [native code] }
object:   function Array() { [native code] }
function: function Function() { [native code] }
string:   function String() { [native code] }
number:   function Number() { [native code] }
boolean:  function Boolean() { [native code] }
object:   function Object() { [native code] }
object:   function Person() { [native code] }

可見, 使用typeof操作符和constucor屬性檢測對象類型返回值是存在差異的.

如果變量是數組, typeof操作符返回object, constructor屬性返回Array;
如果變量是構造函數對象, typeof操作符返回object, constructor屬性返回該構造函數
每個變量都有其construcor屬性, 這個屬性不單單提供了這個是否對象, 還提供了這個對象是什麼類型的對象. 總之, constructor屬性保存了一個指向對象的構造函數, 無論它是自定義的還是原生類型的對象.

有一點需要注意的是, 不同的浏覽器對typeof操作符檢測正則表達式會有所不同,IE和Firefox會返回'object'.

好了,今天內容就先到這裡了,小伙伴們如有疑問,就在下方留言吧。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved