tpeof [val]:用來檢測資料型別的運算子。
基於typeof檢測出來的結果:
首先是乙個字串
字串中是對應的型別
侷限性:
typeof null =>「object」 但是null並不是物件
基於typeof 無法細分出當前值是普通物件還是陣列物件等,只要是物件型別,返回結果都是"object"
typeof可以檢測基本型別,但引用型別均返回object(function 返回 function)
instanceof 可以用於引用型別的檢測,但對於基本型別是不生效的,另外:不能用於檢測null 和 undefined。console.
log(
'1'instanceof
string);
//false
console.
log(
1instanceof
number);
//false
console.
log(
true
instanceof
boolean);
//false
console.
log(
function()
instanceof
function);
//true
console.
log(
instanceof
array);
//true
constructor方法不能用於檢測console.
log(
("1"
).constructor === string)
;//true
console.
log((1
).constructor === number)
;//true
console.
log(
(true
).constructor === boolean)
;//true
console.
log(([
]).constructor === array)
;//true
console.
log(
(function()
).constructor === function)
;//true
console.
log(()
.constructor === object)
;//true
null
和undefined
結果:var test = object.prototype.tostring;
console.
log(test.
call
("str"))
;console.
log(test.
call(1
));console.
log(test.
call
(true))
;console.
log(test.
call
(null))
;console.
log(test.
call
(undefined));
console.
log(test.
call([
]));
console.
log(test.
call
(function()
));console.
log(test.
call()
);
[object string]
[object number]
[object boolean]
[object null]
[object undefined]
[object array]
[object function]
[object object]
這個方法可以用來檢測任意型別的資料。
確定物件之間是否存在某種關係。
object.getpropertyof()返回的是這個物件的原型。
檢測乙個屬性是否存在例項中,還是存在原型中。,只有存在例項中的屬性才會返回true。(注意:當例項重寫了原型屬性後就變成了例項屬性,這個時候也會返回true。)//前提:person是建構函式,person2是例項物件
log(person.prototype.
isprototypeof
(person2));
log(object.
getpropertyof
(person2)
== person.property)
單獨使用in操作符會在通過物件能夠訪問給定屬性時返回true,不論該屬性是在原型中還是例項中。function
person()
person.prototype.name =
'nicholas'
;let person =
newperson()
;log
(person1.
hasownproperty
('name'))
//false
person1.name =
'greg'
;log
(person1.
hasownproperty
('name'))
//true (name來自例項)
delete person1.name;
log(person1.
hasownproperty
('name'))
//false (name來自原型)
log('name' in person1);
js檢測資料型別
要檢測乙個變數是不是基本資料型別?typeof 操作符是最佳的工具。說得更具體一 點,typeof 操作符是確定乙個變數是字串 數值 布林值,還是undefined 的最佳工具。如果變 量的值是乙個物件或null,則typeof 操作符會像下面例子中所示的那樣返回 object var s nich...
JS資料型別檢測
在js的日常使用中,經常需要檢測資料的型別,現在,就來看一下,js有哪些方法可以檢測資料的型別。typeof操作符返回乙個字串,表示未經計算的運算元的型別。typeof是js原生提供用來檢測型別的api,然而,並沒有什麼用。為什麼呢?因為,typeof不能準確地檢測出我們所想要知道的資料的型別。ty...
js檢測資料型別
一 js中資料型別 二 判斷資料型別 下面將對如下資料進行判斷它們的型別 var bool true var num 1 var str abc var und undefined var nul null var arr 1,2,3 var obj var fun function 1.使用typ...