Share via

JSFunctionAttributeEnum Enum


Specifies the calling conventions of functions that are generated by the JScript compiler. Used with the JSFunctionAttribute custom attribute.

This enumeration supports a bitwise combination of its member values.

This API supports the product infrastructure and is not intended to be used directly from your code.

public enum class JSFunctionAttributeEnum
public enum JSFunctionAttributeEnum
public enum JSFunctionAttributeEnum
type JSFunctionAttributeEnum = 
type JSFunctionAttributeEnum = 
Public Enum JSFunctionAttributeEnum


ClassicFunction 35

Specifies the aggregate of HasArguments, HasEngine, and HasThisObject.

ClassicNestedFunction 47

Specifies the aggregate of ClassicFunction and NestedFunction.

HasArguments 1

Specifies that the third parameter of the function is of type Object. The caller should pass in an object that implements the JScript arguments object, typically an instance of ArgumentsObject. The JScript runtime assumes that if HasArguments is set, then HasStackFrame and HasThisObject are also set.

HasEngine 32

Specifies that the second parameter of the function is of type VsaEngine. The caller should pass in an instance of VsaEngine from which the function can retrieve the runtime infrastructure. The JScript runtime assumes that if HasEngine is set then HasThisObject is also set.

HasStackFrame 8

Specifies that the function copies its local variables into a stack frame object maintained by the JScript runtime before making a call out. It copies the variables back from the stack frame object to its locals when control is returned to the function. This flag is set on functions that contain nested functions that access the parent function's locals.

HasThisObject 2

Specifies that the first parameter of the function is of type Object and that it is usually named thisob. The caller should pass in an instance of the object that the function acts on.

HasVarArgs 16

Specifies that the function takes a variable number of arguments. The last parameter is of type array of Object, which holds any arguments that are explicitly specified.

IsExpandoMethod 64

Specifies that the function is a constructor function for a prototype-based object. For more information, see Prototype-based Objects and expando Modifier.

IsInstanceNestedClassConstructor 128

Specifies that the function is a constructor for a nested instance class. The first parameter of the function an instance of the parent class.

IsNested 4

Specifies that the function is nested in another JScript function.

NestedFunction 44

Specifies the aggregate of HasStackFrame, IsNested, and HasEngine.

None 0

Specifies a regular .NET Framework method with no special calling conventions. Typically not used as in this case the JSFunctionAttribute is not emitted.


The parameters associated with HasArguments, HasEngine, and HasThisObject are implicit and are automatically provided by the JScript runtime when the function is called from JScript code.

Applies to