isDefined
Проверяет строковое значение, чтобы определить, существует ли указанная в нем переменная.
isDefined(variable_name) → returns boolean
Справочник по аргументам
variable_name строка Обязательный
myVar, arguments.myArg, myStruct.key). Нотация с квадратными скобками для обращения к элементам массива или ключам структуры не поддерживается. Ссылки дополнительная информация о isDefined
- structKeyExists() и isDefined() — обсуждение на форуме Adobe различий между structKeyExists() и isDefined().
- Правила именования переменных — документация Adobe с определениями допустимых имен переменных
Примеры Пример кода с вызовом функции 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