Rumah hujung hadapan web tutorial js js中关于new Object时传参的一些细节分析_javascript技巧

js中关于new Object时传参的一些细节分析_javascript技巧

May 16, 2016 pm 06:09 PM
new object

1, 参数是一个对象,核心js对象(native ECMAScript object)或宿主对象(host object),那么将直接返回该对象。
其生成的对象构造器仍然是所传参数对象的构造器。这样造成的后果是虽然该对象是new Object,但其constructor不一定是Object。
复制代码 代码如下:

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, 参数是基本类型对象,如字符串(String),数字(Number),布尔值(Boolean),将其包装成对象(转换成其对应的包装类)后返回。
复制代码 代码如下:

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

从以上看出,当传参数时,使用new Object生成的对象其构造器不一定指向Object,只有很巧的时候会指向Object,如
复制代码 代码如下:

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了
复制代码 代码如下:

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
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah kaedah menukar Objek java kepada bait dan bait kepada Objek? Apakah kaedah menukar Objek java kepada bait dan bait kepada Objek? Apr 20, 2023 am 11:37 AM

Objek kepada bait dan bait kepada Objek Hari ini kita akan menyedari cara menukar daripada Objek kepada bait dan cara menukar daripada bait kepada Objek. Mula-mula, tentukan pelajar kelas: packagecom.byteToObject;importjava.io.Serializable;publicclassstudentimplementsSerializable{privateintsid;privateStringname;publicintgetSid(){returnsid;}publicvoidsetSid(in

Bagaimana untuk menggunakan kaedah dalam kelas Objek Java Bagaimana untuk menggunakan kaedah dalam kelas Objek Java Apr 18, 2023 pm 06:13 PM

1. Pengenalan kepada kelas Objek Objek ialah kelas yang disediakan oleh Java secara lalai. Kecuali untuk kelas Objek, semua kelas di Jawa mempunyai hubungan warisan. Secara lalai, ia akan mewarisi kelas induk Objek. Iaitu, objek semua kelas boleh diterima menggunakan rujukan Object. Contoh: Gunakan Object untuk menerima objek semua kelas classPerson{}classStudent{}publicclassTest{publicstaticvoidmain(String[]args){function(newPerson());function(newStudent());}public

Java menggunakan fungsi getClass() kelas Objek untuk mendapatkan kelas masa jalan objek Java menggunakan fungsi getClass() kelas Objek untuk mendapatkan kelas masa jalan objek Jul 24, 2023 am 11:37 AM

Java menggunakan fungsi getClass() kelas Objek untuk mendapatkan kelas runtime objek Dalam Java, setiap objek mempunyai kelas, yang mentakrifkan sifat dan kaedah objek. Kita boleh menggunakan fungsi getClass() untuk mendapatkan kelas runtime sesuatu objek. Fungsi getClass() ialah fungsi ahli kelas Objek, jadi semua objek Java boleh memanggil fungsi ini. Artikel ini akan memperkenalkan cara menggunakan fungsi getClass() dan memberikan beberapa contoh kod. gunakan dapatkan

Apakah hubungan antara jenis data asas dan Objek dalam java Apakah hubungan antara jenis data asas dan Objek dalam java May 01, 2023 pm 04:04 PM

Hubungan antara jenis data asas dan Objek Saya tahu semua orang pernah mendengar bahawa Object ialah kelas asas untuk semua jenis, tetapi ayat ini sebenarnya tidak betul, kerana jenis data asas dalam Java tidak ada kaitan dengan Object. Berikut adalah beberapa contoh Sebagai contoh, apabila memanggil kaedah swap, anda tidak boleh meneruskan jenis int kepada kaedah swap(Objectobj), kerana Object sebenarnya tiada kaitan dengan jenis data asas Pada masa ini, a mendapati bahawa jenis kami tidak sepadan, jadi ia secara automatik membungkusnya. Ia telah menjadi jenis Integer Pada masa ini, ia boleh dihubungi dengan Object dan kaedah swap boleh dipanggil dengan jayanya, kelas pembalut jenis data asas

Notis PHP: Cuba untuk mendapatkan harta penyelesaian bukan objek Notis PHP: Cuba untuk mendapatkan harta penyelesaian bukan objek Jun 24, 2023 pm 09:34 PM

PHPNotice: Tryingtogetpropertyofnon-object solution Apabila anda sedang membangunkan dalam PHP, anda mungkin menghadapi mesej ralat ini: "Notis: Tryingtogetpropertyofnon-object." dalam sekeping kod tertentu dan tidak boleh mengakses sifat dengan betul.

Penyelesaian kepada Notis PHP: Mencuba mendapatkan harta bukan objek Penyelesaian kepada Notis PHP: Mencuba mendapatkan harta bukan objek Jun 22, 2023 pm 02:43 PM

Penyelesaian kepada PHPNotis: Tryingtogetpropertyofnon-object Dalam proses menulis kod dalam PHP, kita mungkin menghadapi mesej ralat "Tryingtogetpropertyofnon-object". Mesej ralat ini biasanya berlaku kerana kami cuba mengakses sifat objek yang tidak wujud, menyebabkan ralat dalam kod. Mesej ralat ini biasanya muncul dalam situasi berikut: Objek tidak wujud

Bagaimana untuk menggunakan kata kunci baharu dalam java Bagaimana untuk menggunakan kata kunci baharu dalam java May 03, 2023 pm 10:16 PM

1. Konsep Dalam bahasa Java, ungkapan "baru" bertanggungjawab untuk mencipta contoh, di mana pembina dipanggil untuk memulakan contoh; jenis nilai pulangan pembina itu sendiri adalah tidak sah, bukan "pembina mengembalikan yang baru dibuat Rujukan objek", tetapi nilai ungkapan baharu ialah rujukan kepada objek yang baru dibuat. 2. Tujuan: Mencipta objek kelas baharu 3. Mekanisme kerja: Peruntukkan ruang memori untuk ahli objek, dan nyatakan nilai lalai secara eksplisit, lakukan pengiraan kaedah pembinaan, dan kembalikan nilai rujukan dengan kerap bermakna membuka yang baru dalam ingatan Ruang memori diperuntukkan dalam kawasan timbunan dalam ingatan Ia dikawal oleh jvm dan menguruskan memori secara automatik. Di sini kita menggunakan kelas String sebagai contoh. Pu

Bagaimana untuk menentukan struktur Objek redis Bagaimana untuk menentukan struktur Objek redis May 28, 2023 pm 05:20 PM

Pengenalan kepada struktur data dua lapisan Redis Salah satu sebab prestasi tinggi redis ialah setiap struktur datanya direka khas dan disokong oleh satu atau lebih struktur data Ia bergantung pada struktur data yang fleksibel ini untuk meningkatkan bacaan prestasi Ambil dan tulis. Jika anda ingin memahami struktur data redis, anda boleh membincangkannya dari dua tahap berbeza: tahap pertama adalah dari perspektif pengguna Tahap ini juga merupakan antara muka panggilan yang Redis dedahkan ke luar, seperti: rentetan, senarai, hash ,set, sortedset. Tahap kedua adalah dari perspektif pelaksanaan dalaman, yang tergolong dalam pelaksanaan peringkat bawah, seperti: dict, sds, ziplist, quicklist, skiplis

See all articles