|||

ورود به حساب کاربری

شماره همراه خود را وارد کنید

ورود با کلمه عبور ارسال کد تایید

فراموشی کلمه عبور

در صورت فراموشی کلمه عبور شماره موبایل خود را وارد کنید.

ورود با کلمه عبور تنظیم مجدد

ورود به حساب کاربری

در صورتی که کلمه عبور خود را بروزرسانی کرده اید با کلمه عبور وارد حساب کاربری خود شوید.

شماره همراه خود را وارد کنید

ورود و ادامه

کلیدواژه this در JavaScript

کلیدواژه this
var person = {
    firstName: "John",
    lastName : "Doe",
    id       : 5566,
    fullName : function() {
        return this.firstName + " " + this.lastName;
    }
};
مشاهده مثال

"this" چیست؟

در تعریف تابع، this به خود تابع اشاره دارد

در مثال بالا، this به شخص شی اشاره دارد

شخص شیء "دارای" روش fullName است.

اتصال پیش فرض

هنگامی که به تنهایی استفاده می شود، this به شیء سراسری اشاره دارد.

در مرورگر، شیء سراسری [object Window] است:

اتصال پیش فرض
 var x = this; 
مشاهده مثال

هنگامی که در یک تابع استفاده می شود، this به شیء سراسری اشاره می کند.

شری سراسری
function myFunction() {
    return this;
}
مشاهده مثال

در حالت strict ، این مشخص نخواهد شد، زیرا حالت strict  به اتصال پیش فرض اجازه نمی دهد:

strict
"use strict";
function myFunction() {
    return this;
}
مشاهده مثال

روش اتصال شیء

در این مثالها، this شیء شخص است (شیء شخص "مالک" تابع است):

روش اتصال شیء
var person = {
    firstName  : "John",
    lastName   : "Doe",
    id         : 5566,
    myFunction : function() {
        return this;
    }
};
مشاهده مثال

روش اتصال شیء
var person = {
    firstName: "John",
    lastName : "Doe",
    id       : 5566,
    fullName : function() {
        return this.firstName + " " + this.lastName;
    }
};
مشاهده مثال

به عبارت دیگر: this.firstName به معنای ,ویژگی firstName  برای اولین بار از this (شخص) object است.

وابستگی صریح تابع

روش ()call و ()apply متد های از پیش تعریف شده جاوااسکریپت هستند.

آنها هر دو می توانند برای فراخوانی یک شیء با یک شی دیگر به عنوان آرگومان مورد استفاده قرار گیرند.

در این مثال، هنگام فراخوانی person1.fullName با person2 به عنوان آرگومان، this به person2 اشاره می کند، حتی اگر یک روش از person1 باشد:

وابستگی صریح تابع
 var person1 = {
    fullName: function() {
        return this.firstName + " " + this.lastName;
    }
}
var person2 = {
    firstName:"John",
    lastName: "Doe",
}
person1.fullName.call(person2);  // Will return "John Doe" 
مشاهده مثال

 

نظر شما

>

یادگیری JavaScript

مقالات و دروس

عضویت در خبرنامه شرکت نرم افزاری وب مهراز

برای اطلاع از بسته ها ، تخفیف های استثنایی و تازه های ما به خبرنامه وب مهراز بپیوندید.

لطفا شماره همراه صحیح وارد کنید.
لطفا ایمیل صحیح وارد کنید.

مقالات مرتبط

|||

ورود به حساب کاربری

شماره همراه خود را وارد کنید

ورود با کلمه عبور ارسال کد تایید

فراموشی کلمه عبور

در صورت فراموشی کلمه عبور شماره موبایل خود را وارد کنید.

ورود با کلمه عبور تنظیم مجدد