Spec-Zone.ru › ColdFusion

isDefined

Проверяет строковое значение, чтобы определить, существует ли указанная в нем переменная.

isDefined(variable_name) → returns boolean

  • CF3+
  • Lucee
  • BL 1.0.0+
  • См. также: structKeyExists isEmpty ArrayIsDefined

    Справочник по аргументам

    variable_name строка
    Обязательный

    Строковое выражение, содержащее имя переменной, существование которой нужно проверить. Поддерживается только простая точечная нотация (например, myVar, arguments.myArg, myStruct.key). Нотация с квадратными скобками для обращения к элементам массива или ключам структуры не поддерживается.

    Ссылки дополнительная информация о isDefined

    • structKeyExists() и isDefined() — обсуждение на форуме Adobe различий между structKeyExists() и isDefined().
    • Правила именования переменных — документация Adobe с определениями допустимых имен переменных

    Примеры
    Пример кода с вызовом функции isDefined

    Использование IsDefined

    Проверка существования переменной form.

    <cfif isDefined("form.submit")>...</cfif>

    Порядок проверки областей видимости и переменные без указанной области

    При проверке имени переменной без указанной области видимости учитывайте порядок проверки областей.

    url.foo = "url.foo" ; form.foo = "form.foo"; writeoutput("Is 'foo' defined? " & isDefined("foo")); writeoutput(isDefined("foo") ? " (" & foo & ")" : "");

    Ожидаемый результат: Определена ли переменная 'foo'? ДА (url.foo)

    Имена переменных с точечной нотацией

    Проверка переменной с точечной нотацией, содержащей имя области видимости, может привести к неожиданному поведению.

    local["form.submit"] = "local['form.submit']" ; form.submit = "form.submit"; writeoutput("Is 'form.submit' defined?" & isDefined("form.submit")); writeoutput(isDefined("form.submit") ? " (" & form.submit & ")" : ""); writeoutput("<br>"); writeoutput("Is 'submit' defined? " & isDefined("submit")); writeoutput(isDefined("submit") ? " (" & submit & ")" : "");

    Ожидаемый результат: Определена ли переменная 'form.submit'? ДА (local['form.submit']) Определена ли переменная 'submit'? ДА (form.submit)

    © 2012–present Foundeo, Inc. and the CFDocs contributors.
    Licensed under the MIT License.
    ColdFusion is a trademark of Adobe Systems Incorporated.
    https://cfdocs.org/isdefined

    Spec-Zone.ru

    Настройки Оффлайн Что нового Помощь О нас
    Spec-Zone .ru
    спецификации, руководства, описания, API