آبجکت های جاوااسکریپت و جزئیات آنها!
پیچیده ترین نوع دادههای (data type) جاوااسکریپت، آبجکتها هستند و پنج نوع دادهی ساده داره که به شرح زیر هستند :
Number, String, Boolean, Undefined, Null
دارالترجمه رسمی
دارالترجمه رسمی پارسیس شامل خدمات ترجمه رسمی و تخصصی در بیش از 60 زبان زنده دنیا
دارالترجمه رسمی پارسیس شامل خدمات ترجمه رسمی و تخصصی در بیش از 60 زبان زنده دنیا
افزونه های سئو وردپرس
بهترین افزونه های سئو وردپرس به صورت کاملا فارسی
بهترین افزونه های سئو وردپرس به صورت کاملا فارسی
افزونه فرم ساز آسان
فرم ساز آسان اولین فرم ساز کاملا فارسی وردپرس
فرم ساز آسان اولین فرم ساز کاملا فارسی وردپرس
خرید ورق گالوانیزه رنگی
خرید انواع ورق گالوانیزه رنگی با بهترین قیمت
خرید انواع ورق گالوانیزه رنگی با بهترین قیمت
کارگاه رویه کوبی در تهران
بهترین کارگاه رویه کوبی و تعمیر مبل راحتی و استیل در تهران با قیمت و کیفیت عالی
خودتان را اینجا معرفی کنید
بهترین کارگاه رویه کوبی و تعمیر مبل راحتی و استیل در تهران با قیمت و کیفیت عالی
در ادامه مقاله کلمهی "نوع داده" رو با نام "دیتاتایپ" مینویسم :|
تفاوت این دو دیتاتایپ (آبجکت و ساده) در اینه که دیتاتایپهای ساده تغییر ناپذیرند ولی دیتاتایپهای آبجکت تغییر پذیرند و زمانیکه آبجکت تغییر کند تغییر داده میشوند. (شاید کمی مبهم باشه براتون که در ادامه مقاله متوجه منظورم خواهید شد)
مفهوم و تعریف آبجکت (شیء) چیست؟!
یک آبجکت لیستی غیرسفارشی از دیتاتایپ های اولیه ( و گاهی اوقات ارجاعی) هستند که به صورت جفتهای "نام-مقدار" ذخیره میشوند. هر آیتم از این لیست رو یک ویژگی (property) مینامند ( در توابع به نام متد میشناسیمشون).یک مثال ساده از آبجکتها :
var myFirstObject = {firstName: "MajidOnline", website: "majidonline.com"}
اگر کمی در مورد آبجکتها فکر کنید متوجه میشید که هر آیتم از یک لیست که property گفته میشوند به صورت جفتهای نام-مقدار ذخیره میشوند. که در مثال فوق نامهای propertyها شامل : firstName , website و مقدارها شامل : Majidonline , majidonline.com میباشند.
نام propertyها میتونه به صورت رشته و یا عدد باشه ، که اگر به صورت عدد باشه هنگامیکه میخواهیم اون رو فراخوانی کنیم حتما باید از براکت استفاده کنیم :
برای مثال :
var ageGroup = { 15 : "Children" , 25:"young",100:"very old"}
console.log(ageGroup.30); // Error!!!
console.log(ageGroup.["15"]); // Children
به عنوان یک جاوااسکریپت دولوپر شما همیشه از دیتاتایپها گاهی وقتها برای ذخیرهی اطلاعات و گاهی وقتها برای ساخت متدها و توابع خود استفاده خواهید کرد.
دادههای از نوع ارجاع و اولیه Reference Data Type and Primitive Data Types
تفاوت اصلی بین دادههای از نوع ارجاع (Reference) و اولیه (Primitive) در این است که مقدار دیتاتایپهای ارجاع به عنوان یک مرجع ذخیره میشن و مقدار اونها از طریق متغیر قابل تغییر نیست و مستقیم درون متغیر ذخیره نمیشوند! ولی دیتاتایپهای اولیه میتونند تغییر کنند ، به عنوان مثال :
Var person = "Mekaeil";
Var anotherPerson = person;
Person = "Reza";
Console.log(anotherPerson); // Mekaeil
Console.log(person); // Reza
دقت کنید که در این مثال هیچ اشتباهی رخ نداده و با تغییر مقدار متغیر person به مقدار Reza هنوزم وقتی متغیر anotherPerson رو چاپ میکنیم مقدار اول رو چاپ میکنه و مقدار جدیدی که به متغیر person دادیم باعث نمیشه مقدار anotherPerson تغییر کنه!در مقایسه، دیتاتایپهای اولیه (Primitive) به صورت مقادیر قابل تغییر ذخیره خواهند شد برای مثال :
var person = {name : "Mekaeil"}
var anotherPerson = person;
person.name = "Ali";
console.log(anotherPerson.name); // Ali
console.log(person.name); // Ali
همانطور که میبینید ما آبجکت person رو درون متغیر anotherPerson ذخیره کردیم ولی دقت کنید که این مقدار به عنوان یک داده واقعی و غیرقابل تغییر ذخیره نشده است و هر بار که اون رو فراخوانی میکنیم به مرجع خودش اشاره میکنه و مقدار رو از اونجا فراخوانی میکنه.
ساخت آبجکت :
دو راه معمول برای ساخت آبجکت وجود داره :1 - Object Literals
یکی از رایجترین و براستی راحتترین راه ساخت آبجکت استفاده از این شیوه میباشد :
//this is empty object
var firstTry = {};
//this is an Object with 4 item
var majidonline = {
color : "red",
website : "majidonline",
CEO : "Majid Alavizadeh",
sayMajid : function(){
console.log("MajidOnline.com");
}
}
2 - Object Constructor ( آبجکت سازنده )
دومین راه معمول برای ساخت آبجکت استفاده از این روش آبجکت سازنده میباشد. این روش معمولا بیشتر در توابع مورد استفاده قرار میگیرد.
var majidonline = new Object();
majidonline.color = "red";
majidonline.website = "majidonline.com";
majidonline.CEO = "Majid Alavizadeh";
majidonline.sayMajid = function(){
console.log("Majidonline.com");
}
توجه کنید که در نامهایی که در آبجکتها استفاده میکنید از کلمات رزرو شده استفاده نکنید.
آبجکتها میتونن شامل انواع دیتاتایپ باشند شامل اعداد،آرایه و حتی آبجکت.
امیدوارم مفید بوده باشه
نظرات و سوالات کاربران
console.log(ageGroup.["15"]); // Children
در واقع سایت هدف مثلا endsite.com هست اما لینک های مختلفی از این سایت توی صفحه سایت من به نمایش در میاد و حالا میخوام به صورت تصادفی و خودکار کاربران سایتم به اون صفحات هدایت بشن . تقریبا چیزی شبیه به خوراک RSS . ممنون میشم راهنمایی کنید .
Date.setFullyear=function();
از چه روشی استفاده کرده؟