تابع در جاوا اسکریپت از انواع دادهای اصلی محسوب میشود. در واقع، تابع نوعی شیء است که قابل فراخوانی است.
بهطور معمول، تابع با استفاده از کلیدواژهی function تعریف میشود. در صورتی که تابع از نوع سازنده باشد، باید با کلیدواژهی new فراخوانده شود، و در این صورت، یک شیء تازه ساخته شده برمیگرداند. همچنین، در داخل بدنهی تابع، کلیدواژهی this به شیء تازه ساخته شده اشاره میکند. پیشنمونهی شیئی که با استفاده از تابعی به نام F ساخته میشود، شیئی خواهد بود که در F.prototype ذخیره شده است. البته امکان تغییر دادن آن وجود دارد.
در صورتی که تابع بهصورت متد به یک خصلت از شیء دیگری اختصاص داده شده باشد و بهعنوان متد فراخوانی شود، کلیدواژهی this در داخل بدنهی تابع به آن شیء اشاره خواهد داشت.
در صورتی که تابع بهصورت معمولی و نه بهعنوان متد یک شیء فراخوانده شود، کلیدواژهی this در داخل آن به شیء سراسری (global) اشاره خواهد داشت، مگر اینکه با استفاده از دستورالعمل "use strict" در حالت اکید اجرا شده باشد که در این صورت مقدار this در داخل بدنهی تابع برابر با undefined خواهد بود.