CFScript - CFScript

CFScript кеңейту болып табылады CFML ColdFusion платформасында. CFScript ұқсас JavaScript. Кейбір ColdFusion әзірлеушілер қарапайым CFML-ге қарағанда визуалды және типографиялық үстеме ақысы аз болғандықтан артық көріңіз.[түсіндіру қажет ]

Пайдалану

ColdFusion компоненттерін және барлық іскери логиканы CFScript-ке жазу және қолдану ең жақсы тәжірибе болып саналады CFML тек .cfm файлдарында HTML.

Егер ол таза сценарийге негізделген ColdFusion компонентінде болмаса, барлық CFScript коды CFScript тег жұбында келесідей болуы керек:

<cfscript>    xParam = 115;    yParam = 200;    түс = 'FFCC99';</cfscript>

Қарапайым мысал a функциясы:

<cfscript>функциясы Қосынды(а, б) {    var сома = а + б;    қайту сома;}</cfscript>

Екі функцияны қамтитын компоненттің қарапайым мысалы:

компонент {    қоғамдық жарамсыз функциясы ақымақ() {        WriteOutput(«
деп аталатын foo () әдісі»
); } қоғамдық функциясы getString() { var х = «Сәлеметсіз бе»; қайту х; }}

ColdFusion 11, Рэйло 4.1+ және Люси 4.5+ екеуі де CFScript-тегі cf тегтерін толығымен қолдау үшін барын салады, барлық тегтер үшін тікелей алмастырулар бола алмаса да, тегтің нәтижелеріне сценарийде қол жеткізуге болады, бірақ басқа синтаксис арқылы. Мысалы, CFSCRIPT ішіндегі а жазуынсыз сұранысты айнымалыға қалай алуға болады UDF:

<cfscript>    qGetData = жаңа Сұрау();    qGetData .setDataSource('# APPLICATION.datasource #');    qGetData .setSQL('1-бағанды, 2-бағанды ​​2-кестеден ҚАЙДАН 1 таңдау «);    qDateResult = qGetData .Орындау().getResult();</cfscript>

Синтаксис

ColdFusion 8 бастап, CFScript қолдайды синтаксис «++», «<=» және «+ =» сияқты көптеген басқа бағдарламалау тілдерінде жиі кездесетін қысқартулар.[1]

Арифметикалық операторлар

ОператорСипаттама
+ - * /Негізгі арифметика: қосу, азайту, көбейту және бөлу.

Бөлу кезінде дұрыс операнд нөлге тең бола алмайды.

++ --Өсу және кему. Айнымалыны біреуіне көбейту немесе азайту.

Бұл операторларды алдын-ала ұлғайту немесе азайту үшін қолдануға болады (x = ++ i сияқты), мұнда айнымалы өрнекте қолданылғанға дейін өзгертіледі. Олар сондай-ақ кейінгі өсіру немесе азайту үшін қолданыла алады (x = i ++ сияқты), мұнда мән өрнекте қолданылғаннан кейін өзгереді. Егер i айнымалысының мәні бастапқыда 7-ге тең болса, мысалы, x-тің x = ++ i-дегі мәні өрнекті бағалағаннан кейін 8-ге тең болады, бірақ x = i ++ кезінде х-тің мәні 7-ге тең. Екі жағдайда да мен 8-ге айналамын

Бұл операторларды f (). A ++ сияқты функцияларды қамтитын өрнектермен қолдану мүмкін емес. Сондай-ақ, - ++ x сияқты өрнекті қолдануға болады, бірақ --- x және +++ x қателіктер тудырады, өйткені олардың мағыналары түсініксіз. Операторларды топтастыру үшін жақшаларды пайдалануға болады, бірақ - (- x) немесе + (++ x) сияқты.

+= -= *= /= %=Құрама тағайындау операторлары. Оң жақтағы айнымалы өрнектің элементі ретінде де, нәтиже айнымалысы ретінде де қолданылады. Сонымен, a + = b өрнегі a = a + b-ге тең.

Өрнектің бір ғана құрама тағайындау операторы болуы мүмкін.

+ -Бірыңғай арифметика: Санның таңбасын орнатыңыз.
MOD немесе%Модуль: санды бөлгішке бөлгеннен кейін қалдықты қайтарады. Нәтижесінде бөлгіштің таңбасы бар. Оператордың оң жағындағы мән бүтін сан болуы керек; сандық емес мәнді қолдану қате тудырады, ал егер нақты санды көрсетсеңіз, ColdFusion бөлшек бөлігін елемейді (мысалы, 11 MOD 4.7 3-ке тең).
Бүтін санды бөлу: бүтін санды басқа бүтін санға бөлу. Нәтижесінде бүтін сан шығады; мысалы, 94 - 2. Дұрыс операнд нөлге тең бола алмайды
^Көрсеткіш: дәрежеге көтерілген санның нәтижесін қайтару (дәреже). Карет таңбасын (^) пайдаланыңыз, нөмірді қуаттан бөліңіз; мысалы, 2 ^ 3 - 8. Нақты және теріс сандар негізге де, көрсеткішке де рұқсат етіледі. Алайда кез-келген өрнек ойдан шығарылған санға тең, мысалы, -1 ^ .5 «-1. # IND жолына әкеледі. ColdFusion ойдан шығарылған немесе күрделі сандарды қолдамайды.

Түсініктемелер

CFScript түсініктемелердің екі формасына ие: бір жолды және көп жолды.

// Бұл бір жолды түсініктеме.// Бұл екінші бір жолды түсініктеме.
/ * Бұл көп жолды түсініктеме.   Әр жолды түсініктеме индикаторынан бастаудың қажеті жоқ.   Бұл жол түсініктемедегі соңғы жол. * /

Көріңіз / ұстаңыз

тырысу {    лақтыру(хабар=«Ой», егжей-тегжейлі=«xyz»);} аулау (кез келген e) {    WriteOutput(«Қате:» & e.хабар);    қайта салу;} ақыры {    WriteOutput(«Қате болмаса да жүгіремін»);}

Ауыстыру мәлімдемесі

қосқыш (автомобиль) {    іс «Nissan»:         WriteOutput(«Менде Nissan бар»);         үзіліс;    іс «Toyota»:         WriteOutput(«Менде Toyota бар»);         үзіліс;    әдепкі:         WriteOutput(«Мен экзотикпін»);}

Ілмек

Ілмек үшін

үшін (мен=1; мен LTE ArrayLen(массив); мен=мен+1) {    WriteOutput(массив[мен]);}

Ілмек үшін

құрылым = StructNew();құрылым.бір = "1";құрылым.екі = "2";үшін (кілт жылы құрылым) {    WriteOutput(кілт);}// екеуі

Ілмек

х = 0;уақыт (х LT 5) {    х = х + 1;    WriteOutput(х);}// Шығарулар: 12345

Do / while циклі

х = 0;істеу {    х = х+1;    WriteOutput(х);} уақыт (х LTE 0);// Шығарулар: 1

Массив бойынша цикл

үшін (элемент жылы массив) {    бірдеңе(элемент);}

JavaScript-тен айырмашылықтар

CFScript пен JavaScript ұқсас болғанымен, олардың бірнеше негізгі айырмашылықтары бар. Келесі тізім JavaScript-тен ерекшеленетін CFScript мүмкіндіктерін анықтайды:

  • CFScript ColdFusion қолданады өрнек, олар JavaScript өрнектерінің жоғарғы немесе ішкі жиыны емес. Атап айтқанда, ColdFusion өрнектері қолдамайды разрядтық операторлар, және ColdFusion MOD немесе% операторы сәйкес JavaScript% операторынан өзгеше жұмыс істейді: ColdFusion-да оператор бүтін арифметиканы орындайды және бөлшек бөліктерді елемейді. ColdFusion өрнектері JavaScript-те қолдау көрсетілмеген EQV, IMP, CONTAINS және операторларды қамтымайды.
  • Айнымалы декларациялар (var кілт сөзі) тек пайдаланушы анықтаған функциялар мен ағындарда қолданылады.
  • CFScript регистрді ескермейді.
  • Барлық мәлімдемелер нүктелі үтірмен аяқталады, ал кодтағы жол үзілімдері еленбейді.
  • Тапсырмалар - бұл өрнектер емес, тұжырымдар, сондықтан оларды тағайындау әрекетін бағалауды қажет ететін жағдайларда қолдануға болмайды.
  • Сияқты JavaScript нысандары терезе және құжат, қол жетімді емес.
  • Тек ColdFusion сервері ғана CFScript-ті өңдейді. Клиенттік CFScript жоқ.

Пайдаланылған әдебиеттер

  1. ^ Надель, Бен (31 мамыр 2007). «ColdFusion 8-ті үйрену: бәрі жаңа ++ операторын құттықтайды».

Сыртқы сілтемелер