欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js中關(guān)于new Object時(shí)傳參的一些細(xì)節(jié)分析

 更新時(shí)間:2011年03月13日 23:00:31   作者:  
這里討論給Object傳參時(shí),其內(nèi)部的處理。參考:ECMA262 V5 15.2.2.1
1, 參數(shù)是一個(gè)對(duì)象,核心js對(duì)象(native ECMAScript object)或宿主對(duì)象(host object),那么將直接返回該對(duì)象。
其生成的對(duì)象構(gòu)造器仍然是所傳參數(shù)對(duì)象的構(gòu)造器。這樣造成的后果是雖然該對(duì)象是new Object,但其constructor不一定是Object。
復(fù)制代碼 代碼如下:

function Person(){this.name='jack';}
var w = new Object(window),
d = new Object(document),
p = new Object(new Person());

console.log(w.constructor); //-> Window
console.log(d.constructor); //-> HTMLDocument
console.log(p.constructor); //-> Person

2, 參數(shù)是基本類(lèi)型對(duì)象,如字符串(String),數(shù)字(Number),布爾值(Boolean),將其包裝成對(duì)象(轉(zhuǎn)換成其對(duì)應(yīng)的包裝類(lèi))后返回。
復(fù)制代碼 代碼如下:

var s = new Object('hello'),
n = new Object(22),
b = new Object(true);

console.log(typeof s); //-> Object
console.log(typeof n); //-> Object
console.log(typeof b); //-> Object

console.log(s.constructor); //-> String
console.log(n.constructor); //-> Number
console.log(b.constructor); //-> Boolean

從以上看出,當(dāng)傳參數(shù)時(shí),使用new Object生成的對(duì)象其構(gòu)造器不一定指向Object,只有很巧的時(shí)候會(huì)指向Object,如
復(fù)制代碼 代碼如下:

var obj1 = new Object,
obj2 = {};
var o1 = new Object(obj1);
o2 = new Object(obj2);

console.log(o1.constructor); //-> Object
console.log(o2.constructor); //-> Object

以上就能明了為何jquery1.4+中以下代碼返回false了
復(fù)制代碼 代碼如下:

function Person(){this.name='jack';}
var p = new Person();
$.isPlainObject(new Object(4)); //-> false
$.isPlainObject(new Object('hello')); //-> false
$.isPlainObject(new Object(true)); //-> false
$.isPlainObject(new Object(p)); //-> false

相關(guān)文章

  • es6 字符串String的擴(kuò)展(實(shí)例講解)

    es6 字符串String的擴(kuò)展(實(shí)例講解)

    下面小編就為大家?guī)?lái)一篇es6 字符串String的擴(kuò)展(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • 微信小程序 this.triggerEvent()的具體使用

    微信小程序 this.triggerEvent()的具體使用

    這篇文章主要介紹了微信小程序 this.triggerEvent()的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • js實(shí)現(xiàn)雙向鏈表互聯(lián)網(wǎng)機(jī)頂盒實(shí)戰(zhàn)應(yīng)用實(shí)現(xiàn)

    js實(shí)現(xiàn)雙向鏈表互聯(lián)網(wǎng)機(jī)頂盒實(shí)戰(zhàn)應(yīng)用實(shí)現(xiàn)

    js實(shí)現(xiàn)雙向鏈表互聯(lián)網(wǎng)機(jī)頂盒實(shí)戰(zhàn)應(yīng)用實(shí)現(xiàn),需要的朋友可以參考下。
    2011-10-10
  • JS 實(shí)現(xiàn)微信掃一掃功能

    JS 實(shí)現(xiàn)微信掃一掃功能

    這篇文章主要介紹了JS 實(shí)現(xiàn)微信掃一掃功能,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09
  • javascript實(shí)現(xiàn)在指定元素中垂直水平居中

    javascript實(shí)現(xiàn)在指定元素中垂直水平居中

    當(dāng)談到網(wǎng)頁(yè)的布局中,居中問(wèn)題一直得不到很有效的解決,居中通常是相對(duì)于某一個(gè)元素的,比如我們經(jīng)常所說(shuō)的屏幕居中的問(wèn)題,我們了解父元素的信息越多,我們就越能更加容易的實(shí)現(xiàn)居中布局。下面我們通過(guò)具體的實(shí)例來(lái)看看javascript如何來(lái)實(shí)現(xiàn)垂直水平居中
    2015-09-09
  • JS數(shù)組方法concat()用法實(shí)例分析

    JS數(shù)組方法concat()用法實(shí)例分析

    這篇文章主要介紹了JS數(shù)組方法concat()用法,結(jié)合實(shí)例形式分析了JS數(shù)組concat()方法具體功能、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-01-01
  • JavaScript實(shí)現(xiàn)表單驗(yàn)證示例

    JavaScript實(shí)現(xiàn)表單驗(yàn)證示例

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)表單驗(yàn)證示例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • JavaScript?ECharts可視化圖表庫(kù)

    JavaScript?ECharts可視化圖表庫(kù)

    這篇文章主要介紹了JavaScript?ECharts可視化圖表庫(kù),ECharts是一款基于JavaScript的數(shù)據(jù)可視化圖表庫(kù),提供直觀,生動(dòng),可交互,可個(gè)性化定制的數(shù)據(jù)可視化圖表
    2023-01-01
  • js統(tǒng)計(jì)頁(yè)面上每個(gè)標(biāo)簽的數(shù)量實(shí)例代碼

    js統(tǒng)計(jì)頁(yè)面上每個(gè)標(biāo)簽的數(shù)量實(shí)例代碼

    這篇文章通過(guò)實(shí)例代碼給大家講解了通過(guò)js統(tǒng)計(jì)頁(yè)面上每個(gè)標(biāo)簽的數(shù)量,代碼很簡(jiǎn)單,具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-05-05
  • 微信小程序自定義select下拉選項(xiàng)框的方法

    微信小程序自定義select下拉選項(xiàng)框的方法

    這篇文章主要為大家詳細(xì)介紹了微信小程序自定義select下拉選項(xiàng)框的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評(píng)論