CFScript — это расширение CFML на платформе ColdFusion. CFScript напоминает JavaScript . Некоторые разработчики ColdFusion предпочитают его, поскольку он требует меньше визуальных и типографских издержек, чем обычный CFML. [ нужны разъяснения ]
За исключением случаев, когда он находится в компоненте ColdFusion, основанном исключительно на скриптах, весь код CFScript должен содержаться в паре тегов CFScript следующим образом:
<cfscript> xParam = 115 ; уПарам = 200 ; цвет = 'FFCC99' ; </cfscript>
Простой пример функции :
<cfscript> function Sum ( a , b ) { var sum = a + b ; сумма возврата ; } </cfscript>
Простой пример компонента в CFScript, содержащего две функции:
компонент { public void function foo () { WriteOutput ( "Метод foo() вызван<br/>" ); } общественная функция getString () { var x = "привет" ; вернуть х ; } }
ColdFusion 11, Railo 4.1+ и Lucee 4.5+ делают все возможное, чтобы полностью поддерживать теги cf в CFScript. Хотя прямые замены для всех тегов могут быть невозможны, часто все же возможно получить результаты тега в скрипте, но с помощью другого синтаксиса. Например, вот как можно получить запрос к переменной в CFSCRIPT без написания UDF :
<cfscript> qGetData = новый запрос (); qGetData.setDataSource ( '#Application.datasource#' ); qGetData.setSQL ( 'ВЫБРАТЬ столбец1, столбец2 ИЗ таблицы ГДЕ 1' ); qDateResult = qGetData.Execute (). ПолучитьРезультат (); </cfscript>
Начиная с ColdFusion 8, CFScript поддерживает синтаксические сокращения, распространенные во многих других языках программирования, такие как «++», «<=" и «+=". [1]
CFScript has two forms of comments: single line and multiline.
// This is a single-line comment.// This is a second single-line comment.
/* This is a multiline comment. You do not need to start each line with a comment indicator. This line is the last line in the comment. */
try { throw(message="Oops", detail="xyz");} catch (any e) { WriteOutput("Error: " & e.message); rethrow;} finally { WriteOutput("I run even if no error");}
переключатель ( автомобиль ) { case "Nissan" : WriteOutput ( "У меня есть Nissan" ); перерыв ; case "Toyota" : WriteOutput ( "У меня есть Toyota" ); перерыв ; по умолчанию : WriteOutput ( «Я экзотичный» ); }
for ( я = 1 ; я <= ArrayLen ( массив ); я = я + 1 ) { WriteOutput ( массив [ я ]); }
структура = StructNew (); структура . один = «1» ; структура . два = «2» ; for ( ключ в структуре ) { WriteOutput ( ключ ); } // ВЫХОДЫ одиндва
х = 0 ; в то время как ( Икс < 5 ) { Икс знак равно Икс + 1 ; WriteOutput ( х ); } // Выходы: 12345
х = 0 ; делать { Икс знак равно Икс + 1 ; WriteOutput ( х ); } Пока ( х <= 0 ); // Выходы: 1
for ( элемент массива ) { doSomething ( элемент ) ; }
Хотя CFScript и JavaScript похожи, у них есть несколько ключевых отличий. В следующем списке указаны функции CFScript, которые отличаются от JavaScript:
window
и document
, недоступны.