stringtranslate.com

CFScript

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]

Арифметические операторы

Comments

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 / catch

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            

Цикл Do / while

х = 0 ; делать { Икс знак равно Икс + 1 ; WriteOutput ( х ); } Пока ( х <= 0 ); // Выходы: 1             

Цикл по массиву

for ( элемент массива ) { doSomething ( элемент ) ; }     

Отличия от JavaScript

Хотя CFScript и JavaScript похожи, у них есть несколько ключевых отличий. В следующем списке указаны функции CFScript, которые отличаются от JavaScript:

Рекомендации

  1. Надель, Бен (31 мая 2007 г.). «Изучение ColdFusion 8: слава новому оператору ++».

Внешние ссылки