JSFunctionAttributeEnum Перечисление

Определение

Задает соглашения о вызовах функций, созданных компилятором JScript.Specifies the calling conventions of functions that are generated by the JScript compiler. Используется с настраиваемым атрибутом JSFunctionAttribute.Used with the JSFunctionAttribute custom attribute.

Это перечисление имеет атрибут FlagsAttribute, который разрешает побитовое сочетание значений его элементов.

Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.

public enum class JSFunctionAttributeEnum
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Runtime.InteropServices.Guid("BA5ED019-F669-3C35-93AC-3ABF776B62B3")]
public enum JSFunctionAttributeEnum
type JSFunctionAttributeEnum = 
Public Enum JSFunctionAttributeEnum
Наследование
JSFunctionAttributeEnum
Атрибуты

Поля

ClassicFunction 35

Задает статистическое выражение полей HasArguments, HasEngine и HasThisObject.Specifies the aggregate of HasArguments, HasEngine, and HasThisObject.

ClassicNestedFunction 47

Задает объединение полей ClassicFunction и NestedFunction.Specifies the aggregate of ClassicFunction and NestedFunction.

HasArguments 1

Указывает, что третий параметр функции принадлежит к типу Object.Specifies that the third parameter of the function is of type Object. Вызывающий объект должен передавать объект, с помощью которого осуществляется реализация объекта аргументов JScript. Обычно этим объектом является экземпляр ArgumentsObject.The caller should pass in an object that implements the JScript arguments object, typically an instance of ArgumentsObject. В среде выполнения JScript предполагается, что если задано значение поля HasArguments, заданы и значения полей HasStackFrame и HasThisObject.The JScript runtime assumes that if HasArguments is set, then HasStackFrame and HasThisObject are also set.

HasEngine 32

Указывает, что второй параметр функции принадлежит к типу VsaEngine.Specifies that the second parameter of the function is of type VsaEngine. Вызывающий объект должен передавать экземпляр VsaEngine, из которого функция может извлечь инфраструктуру среды выполнения.The caller should pass in an instance of VsaEngine from which the function can retrieve the runtime infrastructure. В среде выполнения JScript предполагается, что если задано значение поля HasEngine, задано и значение поля HasThisObject.The JScript runtime assumes that if HasEngine is set then HasThisObject is also set.

HasStackFrame 8

Указывает, что перед осуществлением вызова функция копирует свои локальные переменные в объект кадра стека, сохраненный средой выполнения JScript. После возвращения управления функции копирует переменные из кадра стека и заменяет ими локальные переменные.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

Указывает, что первый параметр функции принадлежит к типу Object и обычно носит имя thisob.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. Тип последнего параметра — массив значений типа Object, в котором содержатся все явно заданные аргументы.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. Дополнительные сведения см. в разделах Объекты на основе прототипа и Модификатор expando.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

Указывает, что функция вложена в другую функцию JScript.Specifies that the function is nested in another JScript function.

NestedFunction 44

Задает статистическое выражение полей HasStackFrame, IsNested и HasEngine.Specifies the aggregate of HasStackFrame, IsNested, and HasEngine.

None 0

Задает обычный метод платформы .NET Framework без особых соглашений о вызовах.Specifies a regular .NET Framework method with no special calling conventions. Обычно не используется, так как в данном случае класс JSFunctionAttribute остается незадействованным.Typically not used as in this case the JSFunctionAttribute is not emitted.

Комментарии

Параметры, связанные с Хасаргументс, Хасенгине и Хассисобжект, являются неявными и автоматически предоставляются средой выполнения JScript при вызове функции из кода JScript.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.

Применяется к