JS學習筆記 使用instanceof判斷原始型別

2021-09-19 05:18:22 字數 879 閱讀 7757

問題提出:

var str = 'hello world'

str instanceof string // false

var str1 = new string('hello world')

str1 instanceof string // true

問題解決:

class primitivestring 

}console.log('hello world' instanceof primitivestring) // true

問題解析:

1、static定義的是類的靜態方法,使用instanceof時會預設呼叫

2、當同時定義靜態方法和動態方法時:

class myclass 

static [symbol.hasinstance](obj)

}var x = new myclass()

console.log([1, 2, 3] instanceof new myclass()); // true //我是呼叫的動態方法

console.log(x[symbol.hasinstance]([0, 0, 0,]));//true //我是呼叫的動態方法

console.log(2 instanceof myclass); //true 我是呼叫靜態方法

console.log(myclass[symbol.hasinstance](2));//true 我是呼叫了靜態方法

console.log(x instanceof myclass); //false 因為修改了靜態方法。x本身就是myclass的例項,如果注釋了靜態方法就會返回true。

js學習筆記

js開發中需要注意的問題。1 for迴圈優化 將for var i 0 i elements.length i 改為for var i 0,j elements.length i j i 採用這樣的方式可以避免每次迴圈的時候計算 elsments 的長度。2 字串拼接優化 將var text the...

js學習筆記

一.document物件 物件集合 all 對文件所有html元素的訪問 anchors 返回所有anchor物件引用 forms 返回所有form物件引用 images 返回所有image物件引用 links 返回所有area和link物件引用 物件屬性 body 訪問body元素 cookie ...

js學習筆記

基於json格式的協議的一些技巧備忘。這個msg1就是乙個協議,由於json格式符號太多,為了減少大量無用符號的傳播,目前能想到的就是如上的寫法,乙個匿名物件,由協議號加上陣列組成。獲取這個msg1 var d1 way 1 for var i in d1 cc.log i way 2 var ke...