慕碼人8056858
2019-02-14 22:22:24
如題詳述: 不知道改怎么區(qū)分這兩種方法,它可能會(huì)涉及到對象的定義方式,所以問題有二問題1: 定義方式var str = new String('luo');var str = 'luo'這兩種定義字符串的方式有什么區(qū)別?問題二: 方法的調(diào)用產(chǎn)生的‘靜態(tài)方法’和‘實(shí)例方法’var str = 'luo';console.log(str.toLowerCase()); //LUO這是實(shí)例方法,通過原型鏈繼承的,好理解但是,并不是所有方法都是原型鏈繼承的,如下:console.log(String.fromCharCode(76,85,79)); //LUO為什么會(huì)有這樣的方法?這個(gè)方法是怎么理解?
1 回答

小怪獸愛吃肉
TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊
1.var str = 'luo'
這個(gè)方式定義的是一個(gè)原始類型的string,var str = new String('luo');
這種方式是以String
為構(gòu)造函數(shù)定義了一個(gè)新的對象。
比較相似的還有var str = String('luo');
這個(gè)也是定義的原始類型的string。
以上的String
指的是js的一個(gè)轉(zhuǎn)化參數(shù)為字符串的函數(shù)。
以下的String
指的是js的一個(gè)全局自有對象。
2.例子中的fromCharCode
就是String
的靜態(tài)方法,也就是直接可以通過String
調(diào)用的方法,不需要在一個(gè)String
的實(shí)例上調(diào)用。
實(shí)例方法就是實(shí)例化后對象的方法,每個(gè)實(shí)例都會(huì)有這個(gè)方法,可以被繼承。
添加回答
舉報(bào)
0/150
提交
取消