Function
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. Itโs been available across browsers since โจ2015ๅนด7ๆโฉ.
* Some parts of this feature may have varying levels of support.
Function
ใชใใธใงใฏใใฏ้ขๆฐใซใคใใฆใฎใกใฝใใใๆไพใใพใใ JavaScript ใงใฏใใในใฆใฎ้ขๆฐใๅฎ้ใซใฏ Function
ใชใใธใงใฏใใงใใ
ใณใณในใใฉใฏใฟใผ
Function()
-
ๆฐใใ
Function
ใชใใธใงใฏใใ็ๆใใพใใใณใณในใใฉใฏใฟใผใ็ดๆฅๅผใณๅบใใจ้ขๆฐใๅ็ใซ็ๆใใใใจใใงใใพใใใใปใญใฅใชใใฃใใeval()
ใจไผผใๆง่ฝใฎ (ใใ ใใใฏใใใซ้่ฆๆงใฎไฝใ) ๅ้กใๆฑใใพใใใใ ใeval()
ใจใฏ็ฐใชใใFunction
ใณใณในใใฉใฏใฟใผใฏใฐใญใผใใซในใณใผใใงๅฎ่กใใใ้ขๆฐใฎใฟใ็ๆใใพใใ
ใคใณในใฟใณในใใญใใใฃ
ไปฅไธใฎใใญใใใฃใฏ Function.prototype
ใงๅฎ็พฉใใใฆใใใใในใฆใฎ Function
ใคใณในใฟใณในใงๅ
ฑๆใใใฆใใพใใ
Function.prototype.arguments
้ๆจๅฅจ; ้ๆจๆบ-
ใใฎ้ขๆฐใซๆธกใใใๅผๆฐใ่กจใใพใใๅณๆ ผใขใผใใใขใญใผ้ขๆฐใ้ๅๆ้ขๆฐใใธใงใใฌใผใฟใผ้ขๆฐใซใคใใฆใฏใ
arguments
ใใญใใใฃใซใขใฏใปในใใใจTypeError
ใ็บ็ใใพใใไปฃใใใซ้ขๆฐใฎใฏใญใผใธใฃๅ ใงarguments
ใชใใธใงใฏใใไฝฟ็จใใฆใใ ใใใ Function.prototype.caller
้ๆจๅฅจ; ้ๆจๆบ-
็พๅจๅฎ่กใใฆใใ้ขๆฐใๅผใณๅบใใ้ขๆฐใ่ฟใใพใใๅณๆ ผใขใผใใใขใญใผ้ขๆฐใ้ๅๆ้ขๆฐใใธใงใใฌใผใฟใผ้ขๆฐใซใคใใฆใฏใ
arguments
ใใญใใใฃใซใขใฏใปในใใใจTypeError
ใ็บ็ใใพใใ Function.prototype.constructor
-
ใคใณในใฟใณในใชใใธใงใฏใใไฝๆใใใณใณในใใฉใฏใฟใผ้ขๆฐใ
Function
ใฎใคใณในใฟใณในใฎๅ ดๅใๅๆๅคใฏFunction
ใณใณในใใฉใฏใฟใผใงใใ
ไปฅไธใฎใใญใใใฃใฏใใใใใใฎ Function
ใคใณในใฟใณในใ่ชๅ่ช่บซใงๆใคใใญใใใฃใงใใ
displayName
้ๆจๆบ ็็ฅๅฏ-
้ขๆฐใฎ่กจ็คบๅใงใใ
length
-
้ขๆฐใซใใฃใฆๆๅพ ใใใๅผๆฐใฎๆฐใๆๅฎใใพใใ
name
-
้ขๆฐใฎๅๅใงใใ
prototype
-
new
ๆผ็ฎๅญไปใใงใณใณในใใฉใฏใฟใผใจใใฆ้ขๆฐใไฝฟ็จใใๅ ดๅใซไฝฟ็จใใใพใใๆฐใใใชใใธใงใฏใใฎใใญใใฟใคใใจใชใใพใใ
ใคใณในใฟใณในใกใฝใใ
Function.prototype.apply()
-
ๆๅฎใใใ
this
ๅคใจใชใใทใงใณใงๅผๆฐใ้ ๅ๏ผใพใใฏ้ ๅ้ขจใชใใธใงใฏใ๏ผใจใใฆๆธกใใๆๅฎใใใ้ขๆฐใๅผใณๅบใใพใใ Function.prototype.bind()
-
ๆฐใใ้ขๆฐใไฝๆใใๅผใณๅบใใใใจใใซใ
this
ใๆๅฎใใใๅคใซ่จญๅฎใใพใใใชใใทใงใณใงใๆๅฎใใใไธ้ฃใฎๅผๆฐใใๆฐใใ็ตใณใคใใใใ้ขๆฐใๅผใณๅบใใใใจใใซไธใใใใๅผๆฐใฎๅใซไปๅ ใใใพใใ Function.prototype.call()
-
ๆๅฎใใใ
this
ๅคใจใชใใทใงใณใงๅผๆฐใๆธกใใๆๅฎใใใ้ขๆฐใๅผใณๅบใใพใใ Function.prototype.toString()
-
้ขๆฐใฎใฝใผในใณใผใใ่กจใๆๅญๅใ่ฟใใพใใ
Object.prototype.toString
ใกใฝใใใไธๆธใใใพใใ Function.prototype[Symbol.hasInstance]()
-
ใณใณในใใฉใฏใฟใผ้ขๆฐใใใชใใธใงใฏใใใณใณในใใฉใฏใฟใผใฎใคใณในใฟใณในใฎ 1 ใคใจใใฆ่ช่ญใใใใฉใใใๅคๆญใใใใใฎใๆขๅฎใฎๆ้ ใๆๅฎใใพใใ
instanceof
ๆผ็ฎๅญใซใใฃใฆๅผใณๅบใใใพใใ
ไพ
Funciton ใณใณในใใฉใฏใฟใผใจ้ขๆฐๅฎฃ่จใฎ้ใ
Function
ใณใณในใใฉใฏใฟใผใง็ๆใใใ้ขๆฐใฏใ็ๆใณใณใใญในใใซใฏใญใผใธใฃใไฝใใพใใใใคใพใๅธธใซใฐใญใผใใซในใณใผใใง็ๆใใใพใใใใใๅฎ่กใใใจใ Function
ใณใณในใใฉใฏใฟใผใฎๅผใณๅบใๅ
ใฎในใณใผใใฏๅ
ฅใใใ่ช่บซใฎใญใผใซใซๅคๆฐใจใฐใญใผใใซๅคๆฐใ ใใซใขใฏใปในใงใใพใใใใใฏ้ขๆฐๅผใฎใณใผใใซ eval()
ใไฝฟใใฎใจใฏ็ฐใชใใพใใ
// `var` ใงใฐใญใผใใซใใญใใใฃใไฝๆ
var x = 10;
function createFunction1() {
const x = 20;
return new Function("return x;"); // ใใฎ `x` ใฏใฐใญใผใใซใฎ `x` ใ่กจใ
}
function createFunction2() {
const x = 20;
function f() {
return x; // ใใฎ `x` ใฏไธ่จใฎใญใผใซใซใฎ `x` ใ่กจใ
}
return f;
}
const f1 = createFunction1();
console.log(f1()); // 10
const f2 = createFunction2();
console.log(f2()); // 20
ใใฎใณใผใใฏใฆใงใใใฉใฆใถใผใงใฏๅไฝใใพใใใ Node.js ใงใฏ f1()
ใง ReferenceError
ใ็บ็ใใพใใ x
ใ่ฆใคใใใชใใใใงใใใใใฏ Node ใฎๆไธไฝใฎในใณใผใใใฐใญใผใใซในใณใผใใงใฏใชใใ x
ใฏใขใธใฅใผใซใฎใญใผใซใซใซใชใใใใงใใ
ไปๆงๆธ
Specification |
---|
ECMAScriptยฎ 2026 Language Specification # sec-function-objects |
ใใฉใฆใถใผใฎไบๆๆง
Loadingโฆ