This documentation is archived and is not being maintained.

JSFunctionAttributeEnum Enumeration

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

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

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

Namespace:  Microsoft.JScript
Assembly:  Microsoft.JScript (in Microsoft.JScript.dll)

public enum class JSFunctionAttributeEnum

Member nameDescription
NoneSpecifies a regular .NET Framework method with no special calling conventions. Typically not used as in this case the JSFunctionAttribute is not emitted.
HasArgumentsSpecifies 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.
HasThisObjectSpecifies 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.
IsNestedSpecifies that the function is nested in another JScript function.
HasStackFrameSpecifies 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.
HasVarArgsSpecifies 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.
HasEngineSpecifies 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.
IsExpandoMethodSpecifies that the function is a constructor function for a prototype-based object. For more information, see Prototype-based Objects and expando Modifier.
IsInstanceNestedClassConstructorSpecifies that the function is a constructor for a nested instance class. The first parameter of the function an instance of the parent class.
ClassicFunctionSpecifies the aggregate of HasArguments, HasEngine, and HasThisObject.
NestedFunctionSpecifies the aggregate of HasStackFrame, IsNested, and HasEngine.
ClassicNestedFunctionSpecifies the aggregate of ClassicFunction and NestedFunction.

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.

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0