Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Apakah tiga jenis objek JavaScript?
Tiga jenis objek JavaScript: 1. Objek dalaman, termasuk objek tempatan yang perlu dijadikan instantiat untuk digunakan dan objek terbina dalam yang boleh digunakan tanpa instantiasi 2. Objek hos, iaitu persekitaran untuk melaksanakan skrip JS Objek yang disediakan; 3. Objek tersuai ialah objek yang ditakrifkan oleh pembangun sendiri.
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.
Objek dalam JavaScript boleh dibahagikan kepada tiga kategori utama, iaitu objek dalaman (objek tempatan dan objek terbina dalam), objek hos dan objek tersuai.
1. Objek dalaman
1), objek tempatan, objek yang disediakan oleh ECMAScript yang perlu dijadikan instantiated (baru) sebelum ia boleh digunakan:
2>Hanya Global (objek global) dan MatematikObjek, Fungsi, Tatasusunan, Rentetan, Boolean, Nombor, Tarikh, RegExp, Ralat, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError
Sifat objek Matematik
属性 | 描述 |
---|---|
E | 返回算术常量 e,即自然对数的底数(约等于2.718)。 |
LN2 | 返回 2 的自然对数(约等于0.693)。 |
LN10 | 返回 10 的自然对数(约等于2.302)。 |
LOG2E | 返回以 2 为底的 e 的对数(约等于 1.4426950408889634)。 |
LOG10E | 返回以 10 为底的 e 的对数(约等于0.434)。 |
PI | 返回圆周率(约等于3.14159)。 |
SQRT1_2 | 返回 2 的平方根的倒数(约等于 0.707)。 |
SQRT2 | 返回 2 的平方根(约等于 1.414)。 |
Kaedah objek matematik
方法 | 描述 |
---|---|
abs(x) | 返回 x 的绝对值。 |
acos(x) | 返回 x 的反余弦值。 |
asin(x) | 返回 x 的反正弦值。 |
atan(x) | 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。 |
atan2(y,x) | 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。 |
ceil(x) | 对数进行上舍入。 |
cos(x) | 返回数的余弦。 |
exp(x) | 返回 Ex 的指数。 |
floor(x) | 对 x 进行下舍入。 |
log(x) | 返回数的自然对数(底为e)。 |
max(x,y,z,...,n) | 返回 x,y,z,...,n 中的最高值。 |
min(x,y,z,...,n) | 返回 x,y,z,...,n中的最低值。 |
pow(x,y) | 返回 x 的 y 次幂。 |
random() | 返回 0 ~ 1 之间的随机数。 |
round(x) | 四舍五入。 |
sin(x) | 返回数的正弦。 |
sqrt(x) | 返回数的平方根。 |
tan(x) | 返回角的正切。 |
Harta global JavaScript
Fungsi global JavaScript
函数 | 描述 |
---|---|
decodeURI() | 解码某个编码的 URI。 |
decodeURIComponent() | 解码一个编码的 URI 组件。 |
encodeURI() | 把字符串编码为 URI。 |
encodeURIComponent() | 把字符串编码为 URI 组件。 |
escape() | 对字符串进行编码。 |
eval() | 计算 JavaScript 字符串,并把它作为脚本代码来执行。 |
isFinite() | 检查某个值是否为有穷大的数。 |
isNaN() | 检查某个值是否是数字。 |
Number() | 把对象的值转换为数字。 |
parseFloat() | 解析一个字符串并返回一个浮点数。 |
parseInt() | 解析一个字符串并返回一个整数。 |
String() | 把对象的值转换为字符串。 |
unescape() | 对由 escape() 编码的字符串进行解码。 |
2. Objek hos
Objek hos digunakan untuk melaksanakan Skrip JS Objek yang disediakan oleh persekitaran adalah objek yang disediakan oleh pelayar. Semua BOM dan DOM ialah objek hos.
3. Objek tersuai
Objek yang ditakrifkan oleh pembangun sendiri
⑴ Kaedah literal objek (melalui objek JSON Create)
Kelemahan: Menggunakan antara muka yang sama untuk mencipta banyak objek akan menghasilkan banyak kod pendua.
⑵Mod kilang.
①Corak kilang adalah untuk meletakkan pernyataan mencipta objek dalam fungsi, mencipta objek tertentu dengan menghantar parameter, dan akhirnya mengembalikan objek yang dicipta.
Fungsi createPerson() boleh membina objek Person yang mengandungi semua maklumat yang diperlukan berdasarkan parameter yang diterima.
Fungsi ini boleh dipanggil berkali-kali, dan setiap kali ia akan mengembalikan objek yang mengandungi 2 sifat dan kaedah.
② Kelemahan: Walaupun corak kilang boleh mencipta berbilang objek yang serupa, ia tidak dapat menyelesaikan masalah pengenalan objek, iaitu bagaimana untuk mengetahui jenis objek.
⑶ Corak pembina
① Kelemahan: Masalah utama menggunakan pembina ialah setiap kaedah mesti dibuat pada setiap kejadian.
②Dalam ECMAScript, fungsi ialah objek, jadi setiap kali sesuatu fungsi ditakrifkan, objek diwujudkan.
③ Dalam erti kata lain, kaedah berbilang objek yang diwujudkan melalui pembina adalah berbilang kaedah berbeza, tetapi kod dalaman dan fungsi yang dilaksanakan adalah sama, yang mengakibatkan pembaziran sumber tertentu.
⑷Mod prototaip
①Dalam js, setiap fungsi mempunyai atribut prototaip, iaitu penunjuk yang menunjuk ke objek, dipanggil objek prototaip.
②Menggunakan corak prototaip membolehkan semua kejadian berkongsi sifat dan kaedah dalam objek prototaip, iaitu, tidak perlu mentakrifkan maklumat contoh objek dalam pembina.
③ Kelemahan: Pautan menghantar parameter permulaan kepada pembina diketepikan Akibatnya, semua kejadian akan memperoleh nilai atribut yang sama secara lalai.
Masalah terbesar dengan corak prototaip adalah disebabkan oleh sifat perkongsiannya. Semua sifat dalam prototaip dikongsi oleh banyak contoh
Perkongsian jenis ini sangat sesuai untuk fungsi. Untuk sifat yang mengandungi jenis rujukan, masalahnya lebih ketara.
④ Oleh itu, mod prototaip jarang digunakan secara bersendirian.
⑸Menggunakan corak pembina dan corak prototaip dalam gabungan
①Menggunakan corak pembina dan corak prototaip secara gabungan ialah cara paling biasa untuk mencipta jenis tersuai.
②Corak pembina digunakan untuk menentukan sifat contoh, manakala corak prototaip digunakan untuk menentukan kaedah dan sifat dikongsi.
③ Akibatnya, setiap kejadian akan mempunyai salinan atribut contoh sendiri, tetapi pada masa yang sama berkongsi rujukan kepada kaedah, menjimatkan memori ke tahap maksimum.
⑹Mod lain
①Mod prototaip dinamik: Hanya apabila pembina dipanggil buat kali pertama, kaedah diberikan kepada atribut yang sepadan bagi objek prototaip sebagai mod pembina
② Mod pembina parasit: hanya merangkum kod yang mencipta objek, dan kemudian mengembalikan objek yang baru dibuat, masih menggunakan operator baharu untuk memanggil
③ Mod pembina selamat: tiada sifat awam, hanya Pembolehubah persendirian dan kaedah, serta beberapa kaedah dapatkan/tetapkan untuk mengendalikan pembolehubah persendirian.
[Cadangan berkaitan: tutorial pembelajaran javascript]
Atas ialah kandungan terperinci Apakah tiga jenis objek JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!