Гэр / Компьютер эзэмших / javascript бүлэглэх операторууд. Илэрхийлэл ба операторууд. тэмдэглэгдсэн жагсаалтын шошгууд

javascript бүлэглэх операторууд. Илэрхийлэл ба операторууд. тэмдэглэгдсэн жагсаалтын шошгууд

Энэ бүлэгт JavaScript-ийн илэрхийлэл, үүрэг даалгавар, харьцуулалт, арифметик, битийн, логик, мөр болон төрөл бүрийн тусгай операторууд зэрэг операторуудыг тайлбарласан болно.

Оператор, илэрхийллийн бүрэн бөгөөд нарийвчилсан жагсаалтыг энэ гарын авлагаас авах боломжтой.

Операторууд

JavaScript нь дараах төрлийн операторуудтай. Энэ дэд хэсэг нь төрөл тус бүрийг тайлбарлаж, тэдгээрийн бие биенээсээ давуу байдлын талаарх мэдээллийг агуулдаг.

JavaScript нь хоёртын болон нэгдмэл операторуудыг, мөн өөр нэг тусгай гурвалсан оператор болох нөхцөлт операторыг дэмждэг. Хоёртын үйлдэл нь операторын өмнө, дараа нь хоёр операнд ашигладаг.

операнд1 оператор операнд2

Жишээ нь: 3+4 эсвэл x*y .

Хариуд нь нэгдмэл оператор нь операторын өмнө эсвэл дараа нь нэг операнд ашигладаг:

оператор операнд операнд оператор

Жишээ нь: x++ эсвэл ++ x .

Даалгаврын операторууд

Даалгаврын үйлдлийн үр дүнд оноох операторын зүүн талд байгаа операнд ("=" тэмдэг) баруун операндаас авсан утгыг тохируулна. Үндсэн хуваарилалтын оператор нь = бөгөөд зүүн талын операнд руу баруун операндын утгыг оноодог. Тэгэхээр x = y илэрхийлэл нь x-д у-ийн утгыг өгсөн гэсэн үг юм.

Дараах хүснэгтэд тайлбарласан үйлдлүүдийг товчлоход ашигладаг нийлмэл хуваарилалтын операторууд бас байдаг.

Даалгаврын операторуудын жагсаалт
Нэр товчилсон оператор Утга
Даалгавар x=y x=y
Нэмэлт бүхий даалгавар x += y x = x + y
Хасах үйлдэлтэй даалгавар x -= y x = x - y
Үржүүлэхтэй даалгавар x *= y x=x*y
Хэлтэстэй даалгавар x /= y x=x/y
Модулийн даалгавар x %= y x = x % y
Зүүн ээлжийн даалгавар x<<= y x = x<< y
Баруун ээлжийн даалгавар x >>= y x = x >> y
Гарын үсэг зураагүй баруун шилжилттэй даалгавар x >>>= y x = x >>> y
Битийн дагуу AND-тай даалгавар x &= y x=x&y
Битийн XOR ашиглан даалгавар x ^= y x=x^y
Битийн дагуу OR бүхий даалгавар x |= y x = x | y

Бүтцийн эвдрэл

Илүү төвөгтэй даалгаврын хувьд JavaScript нь бүтцийг устгах синтакстай бөгөөд энэ нь массив бүтээгч болон объектын литералуудыг тусгах синтакс ашиглан массив эсвэл объектоос өгөгдлийг задлах боломжийг олгодог илэрхийлэл юм.

var foo = ["нэг", "хоёр", "гурван"]; // ямар ч бүтцийг устгах var one = foo; vartwo = foo; var three = foo; // бүтцээ эвдэж var = foo;

Харьцуулах операторууд

Та устгах операторыг далд зарласан хувьсагчдыг устгахад ашиглаж болох боловч var -аар зарласан хувьсагчдыг устгахад ашиглах боломжгүй.

Устгах операторыг хэрэглэсний дараа элементийн шинж чанарыг тодорхойгүй болгож өөрчилнө. Хэрэв үйлдэл хийх боломжтой бол устгах оператор үнэнийг буцаана; Хэрэв үйлдлийг гүйцэтгэх боломжгүй бол оператор худал буцаана.

X = 42; хэлбэлзэх = 43; myobj = шинэ дугаар(); myobj.h = 4; // өмч үүсгэх h устгах x; // үнэнийг буцаана (далд зарласан хувьсагчийг устгаж болно) устгах y; // худал буцаана (var-р зарласан хувьсагчийг устгах боломжгүй) Math.PI устгах; // худал буцаана (суулгасан шинж чанарыг устгах боломжгүй) myobj.h устгах; // үнэнийг буцаана (захиалгат шинж чанаруудыг устгаж болно) myobj устгах; // үнэнийг буцаана (та далд хэлбэрээр зарласан объектыг устгаж болно)

Массивын элементүүдийг устгаж байна

Массивын элементийг устгах нь массивын уртад нөлөөлөхгүй. Жишээлбэл, хэрэв та a -г устгавал a элемент нь a хэвээр үлдэж, a тодорхойгүй болно.

Массив элементийг устгах операторыг ашиглан устгах үед тухайн элементийн утга массиваас хасагдана. Дараах жишээнд элементийн модыг устгах оператор ашиглан устгасан. Гэсэн хэдий ч модны элемент хаяглах боломжтой хэвээр байгаа бөгөөд тодорхойгүй буцаана.

Var мод = new Array("улаан мод", "булан", "хуш", "царс", "агч"); модыг устгах; хэрэв (модны 3) ( // нөхцөл бүтэлгүйтсэн )

Хэрэв та элементийг массив дотор үлдээхийг хүсч байгаа боловч тодорхойгүй утгатай байхыг хүсвэл устгах операторын оронд тодорхойгүй түлхүүр үгийг ашиглана уу. Дараах жишээн дээр модны элементийг undefined гэж тохируулсан боловч элемент массив дотор хэвээр байна:

Var мод = new Array("улаан мод", "булан", "хуш", "царс", "агч"); мод = тодорхойгүй; if (модонд 3) ( // энэ кодын блокийг гүйцэтгэж байна )

төрлийн оператор

Операторыг ашиглана ууАжлын үед объектын төрлийг баталгаажуулах шаардлагатай үед. Жишээлбэл, онцгой тохиолдлуудыг барьж байхдаа та зохицуулагдаж буй үл хамаарах зүйлийн төрлөөс хамааран өөр өөр онцгой байдлын харьцах програмчлалын үсрэлтүүдийг үүсгэж болно.

Жишээлбэл, дараах код нь instanceof операторыг ашиглан theDay нь Date объект мөн эсэхийг шалгах болно. TheDay нь үнэхээр Date объект учраас программ нь if командын кодыг гүйцэтгэдэг.

Var theDay = шинэ огноо(1995, 12, 17); if (TheDay instanceof Date) ( // гүйцэтгэх код )

Операторын давуу эрх

Тэргүүлэх асуудалоператорууд илэрхийлэлийг үнэлэх үед гүйцэтгэх дарааллыг тодорхойлдог. Та хаалтанд операторын давуу байдалд нөлөөлж болно.

Доорх хүснэгтэд операторын тэргүүлэх чиглэлийг хамгийн дээдээс хамгийн бага хүртэл тайлбарлав.

Хүснэгт 3.7 Операторын давуу эрх
Операторын төрөл Операторууд
объектын өмч .
дуудлага, объект үүсгэх () шинэ
үгүйсгэх, нэмэгдэл ! ~ - +++ -- хүчингүй устгах төрөл
үржүүлэх, хуваах * / %
нэмэх, хасах + -
бит шилжилт << >> >>>
харьцуулалт, оруулга < <= >>= instanceof
тэгш байдал == != === !==
бит-ба &
bit-exclusive-or ^
бит-эсвэл |
логик-ба &&
логик-эсвэл ||
нөхцөлт (гурвалдаг) оператор ?:
даалгавар = += -= *= /= %= <<= >>= >>>= &= ^= |=
таслал ,

Илүү нарийвчилсан хувилбархолбоосыг агуулсан энэ хүснэгт болон Нэмэлт мэдээлэлоператор бүрийн хувьд JavaScript лавлагаанд байна.

Илэрхийлэл

Илэрхийлэлутга буцаадаг аливаа хүчинтэй кодын блок юм.

Үзэл баримтлалын хувьд хувьсагчдад утга оноох, тухайн утгыг оноохгүйгээр үнэлдэг гэсэн хоёр төрлийн илэрхийлэл байдаг.

x = 7 илэрхийлэл нь эхний төрлийн илэрхийллийн жишээ юм. Энэ илэрхийлэлашигладаг оператор= x хувьсагчд 7 утгыг өгөх . Илэрхийлэл нь өөрөө 7-той тэнцүү.

Код 3 + 4 нь хоёр дахь төрлийн илэрхийллийн жишээ юм. Энэ илэрхийлэлийг ашигладаг операторҮр дүнгийн 7-г хувьсагчид оноохгүйгээр 3 ба 4 тоог нэмэхийн тулд "+".

JavaScript дахь бүх илэрхийлэл нь дараах ангилалд багтдаг.

Үндсэн илэрхийллүүд

Үндсэн түлхүүр үгсболон JavaScript дахь үндсэн илэрхийллүүд.

энэ оператор

Одоогийн объект руу хандахын тулд this түлхүүр үгийг ашиглана уу. Ерөнхийдөө энэ нь энэ аргад хамаарах дуудагдах боломжтой объектыг заадаг. Үүнийг дараах байдлаар ашиглаарай:

this["propertyName"] this.propertyName

Баталгаажуулах функц нь зарим объектын утгын шинж чанарыг шалгадаг гэж бодъё; объект, түүнчлэн энэ өмчийн утгын дээд ба доод хязгаарыг зааж өгсөн болно:

Функц баталгаажуулах(obj, lowval, hival)( if ((obj.value< lowval) || (obj.value >hival)) alert("Буруу утга!"); )

Та дараах жишээнд үзүүлсэн шиг маягтын элементийг зааж өгөхийн тулд форм элемент бүрийн onChange үйл явдлын зохицуулагч дээрх validate функцийг дуудаж болно.

18-аас 99 хүртэлх тоог оруулна уу:

Бүлэглэх оператор

Бүлэглэх оператор "хаалт" () нь илэрхийллийн үнэлгээний тэргүүлэх чиглэлийг хянадаг. Жишээлбэл, та "үржүүлэх ба хуваах, дараа нь нэмэх ба хасах" гэсэн дарааллыг дахин тодорхойлж болно, ингэснээр үржүүлэхийн өмнө жишээлбэл нэмэхийг хийнэ.

Вара = 1; var b = 2; var c = 3; // хэвийн дараалал a + b * c // 7 // ердийнхөөрөө ажиллуулна, тиймээс a + (b * c) // 7 // одоо дарааллыг эргүүлнэ // үржүүлэх (a + b) * c // 9 // энэ нь a * c + b * c // 9-тэй тэнцэнэ

Массив болон генератор үүсгэх хялбаршуулсан синтакс

Хялбаршуулсан синтакс нь ECMAScript-ийн ирээдүйн хувилбаруудад нэмж болох туршилтын JavaScript функц юм. Синтаксийн 2 хувилбар байдаг:

Массивын хялбаршуулсан синтакс. (х of y) y) Генераторын хялбаршуулсан синтакс.

Хялбаршуулсан синтаксууд нь олон програмчлалын хэл дээр байдаг бөгөөд одоо байгаа хэл дээр үндэслэн шинэ массивыг хурдан бүтээх боломжийг олгодог. Жишээлбэл:

) i*i ]; // [ 1, 4, 9 ] var abc = [ "A", "B", "C" ]; ; // [ "a", "b", "c" ]

Зүүн гарын илэрхийлэл

Зүүн талд байгаа утгуудад баруун талд байгаа утгуудыг зааж өгсөн болно.

шинэ

Та шинэ операторыг ашиглан хэрэглэгчийн тодорхойлсон төрлийн объект эсвэл суулгасан объектуудын аль нэгийг үүсгэж болно. Шинэ операторыг дараах байдлаар ашиглаарай:

Var objectName = new objectType();

мундаг

Түлхүүр үг нь эх объектын функцийг дуудахад хэрэглэгддэг. Энэ нь жишээ нь эцэг эхийн бүтээгчийг дуудах ангиудад бас хэрэгтэй.

Мундаг(); // эцэг эхийн байгуулагчийг дуудна. super.functionOnParent();

Өргөтгөлийн оператор

Тархалтын оператор нь илэрхийллийг олон аргумент (функцын дуудлагын хувьд) эсвэл олон элемент (массивын хувьд) бүхий байршилд өргөтгөх боломжийг олгодог.

Жишээ:Өнөөдөр, хэрэв танд массив байгаа бөгөөд эхнийх нь байгаа хэсэгээр шинээр үүсгэхийг хүсвэл шууд массивын синтакс хангалтгүй болсон тул та push , splice , хослолыг ашиглан императив (хувилбаргүй) код бичих хэрэгтэй болно. concat гэх мэт. Гэхдээ энэ операторын тусламжтайгаар код богиносдог:

Var хэсгүүд = ["мөр", "өвдөг"]; var lyrics = ["толгой", ...хэсэг, "ба", "хөлийн хуруу"];

Оператор нь функцийн дуудлагатай ижил төстэй ажилладаг:

функц f(x, y, z) ( ) var args = ; f(...args);

JavaScript дахь илэрхийллүүдхослолууд юм операндуудболон операторууд.

Үйл ажиллагааилэрхийлэлд тэргүүлэх утгын дагуу дарааллаар гүйцэтгэгдэнэ (тэргүүлэх утга өндөр байх тусмаа өндөр байна). Буцаагдсан үр дүн нь боловсруулж буй өгөгдлийн төрөлтэй үргэлж ижил төрлийн байдаггүй. Жишээлбэл, харьцуулах үйл ажиллагаанд оролцдог операндууд янз бүрийн төрөл, гэхдээ буцаасан үр дүн нь үргэлж логик байх болно.

Цагаан будаа. 1. JavaScript дахь илэрхийллийн бүтэц

операндууднь JavaScript скриптээр боловсруулсан өгөгдөл юм. Операндууд байж болно энгийн төрлүүдөгөгдөл, цогцолбор, түүнчлэн бусад илэрхийллүүд.

Операторуудөгөгдөл дээр янз бүрийн үйлдэл хийдэг хэлний тэмдэгтүүд юм. Операторуудыг цэг таслал эсвэл түлхүүр үг ашиглан бичиж болно.

Операндуудын тооноос хамааран дараах төрлийн операторуудыг ялгадаг.
нэгдмэл- үйл ажиллагаанд нэг операнд оролцсон;
хоёртын- үйл ажиллагаанд хоёр операнд оролцдог;
гурвалсан- гурван операндыг нэгтгэдэг.

Илэрхийлэх хамгийн энгийн хэлбэр шууд утгаар— өөрийгөө үнэлдэг зүйл, жишээлбэл, 100 тоо, "Hellow world" мөр. Хувьсагч нь өөрт өгөгдсөн утгыг үнэлдэг тул илэрхийлэл байж болно.

JavaScript дахь илэрхийлэл ба операторууд

1. Арифметик операторууд

Арифметик операторуудгүйцэтгэхэд зориулагдсан математик үйлдлүүд, тэдгээр нь тоон операндууд (эсвэл тоон утгыг хадгалдаг хувьсагчид) дээр ажилладаг бөгөөд үр дүнд нь тоон утгыг буцаадаг.

Хэрэв операндуудын аль нэг нь мөр бол JavaScript орчуулагч үүнийг тоон төрөл рүү хөрвүүлэхийг оролдох ба дараа нь тохирох үйлдлийг гүйцэтгэнэ. Хэрэв төрөл хөрвүүлэлт амжилтгүй болбол үр дүн нь NaN (тоо биш) болно.

Хүснэгт 1. Арифметик операторууд
Оператор/Үйл ажиллагаа Тодорхойлолт Тэргүүлэх асуудал
+ Нэмэлт Тоон операндуудыг нэмнэ. Хэрэв операндуудын аль нэг нь мөр бол илэрхийллийн үр дүн нь мөр болно. 12
- Хасах Эхнийхээс хоёр дахь операндыг хасна. 12
- Нэгдмэл хасах Эерэг тоог сөрөг тоо руу хөрвүүлдэг ба эсрэгээр. 14
* Үржүүлэх Хоёр операндыг үржүүлнэ. 13
/ хэлтэс Эхний операндыг хоёрдугаарт хуваана. Хуваалтын үр дүн нь бүхэл тоо эсвэл хөвөгч цэг байж болно. 13
% Модуло (хуваалтын үлдэгдэл) Эхний операндын хоёр дахь бүхэл тоонд хуваагдсан үлдэгдлийг тооцоолно. Бүхэл тоо болон хөвөгч цэгт хоёуланд нь хамаарна. 13
var x = 5, y = 8, z; z = x + y // 13 z = x - y-г буцаана; // буцаана -3 z = - y; // буцаана -8 z = x * y; // 40 z = x / y-г буцаана; // 0.625 z = y % x-ийг буцаана; // буцах 3

2. Даалгаврын операторууд

Даалгаврын операторуудхувьсагчдад утга онооход ашигладаг. Хосолсон операторууд нь анхны болон дараагийн утгыг нэг хувьсагчид хадгалах боломжийг олгодог.

var a = 5; // a var b хувьсагчид 5 тоон утгыг оноох = "hello"; // тэмдэгт мөрийг b var m = n = z = 10 хувьсагчд хадгална; // m, n, z хувьсагчдад тоон утгыг оноох 10 x += 10; // x = x + 10-тай тэнцүү; x -= 10; // x = x - 10-тай тэнцүү; x *= 10; // x = x * 10-тай тэнцүү; x /= 10; // x = x / 10-тай тэнцүү; x%= 10; // x = x % 10-тай тэнцэх;

3. Өсөх, багасгах операторууд

Үйл ажиллагаа өсөлт ба бууралтнь нэгдмэл байх ба операндын утгыг нэгээр нэмэгдүүлж, бууруулна. Операнд нь хувьсагч, массив элемент, объектын шинж чанар байж болно. Ихэнхдээ ийм үйлдлүүд нь тоолуурыг гогцоонд нэмэгдүүлэхэд ашиглагддаг.

var x = y = m = n = 5, z, s, k, l; z = ++x * 2; /* тооцооллын үр дүнд z = 12, x = 6 утгыг буцаана, i.e. x утгыг эхлээд 1-ээр нэмэгдүүлж, дараа нь үржүүлэх үйлдлийг гүйцэтгэнэ */ s = y++ * 2; /* тооцооллын үр дүнд s = 10, y = 6 утгыг буцаана, i.e. эхлээд үржүүлэх үйлдлийг гүйцэтгэх ба дараа нь 1-ээр нэмэгдсэн утгыг y */ k = --m * 2 хувьсагчд хадгална; // k = 8 утгыг буцаана, m = 4 l = n-- * 2; // l = 10, n = 4 утгыг буцаана

4. Харьцуулах операторууд

Харьцуулах операторууднь операндуудыг тааруулахад ашигладаг бол илэрхийллийн үр дүн нь үнэн эсвэл худал гэсэн хоёр утгын аль нэг байж болно. Операндууд нь зөвхөн тоо биш, мөр, логик, объект байж болно. Гэсэн хэдий ч харьцуулалтыг зөвхөн тоонууд болон мөрүүд дээр хийх боломжтой тул тоо эсвэл мөр биш операндуудыг хөрвүүлдэг.

Хэрэв хоёр операндыг тоо эсвэл мөр болгон амжилттай хөрвүүлэх боломжгүй бол операторууд үргэлж худал гэж буцаана.

Хэрэв хоёр операнд нь мөр/тоо эсвэл мөр/тоо болгон хувиргах боломжтой бол тэдгээрийг мөр/тоо гэж харьцуулах болно.

Хэрэв нэг операнд нь мөр/мөр рүү хөрвүүлдэг, нөгөө нь тоо/тоо руу хөрвүүлдэг бол оператор мөрийг тоо болгон хөрвүүлэх оролдлого хийж, тоон харьцуулалт хийнэ. Хэрэв мөр нь тоо биш бол түүнийг NaN болгон хувиргаж, харьцуулалтыг худал гэж үнэлнэ.

Ихэнх тохиолдолд хөтөлбөрт салбаруудыг зохион байгуулахдаа харьцуулах үйлдлийг ашигладаг.

Хүснэгт 4. Харьцуулах операторууд
Оператор/Үйл ажиллагаа Тодорхойлолт Тэргүүлэх асуудал
== Тэгш байдал Тохирох хоёр утгыг туршиж, төрөл хөрвүүлэх боломжийг олгодог. Хэрэв операндууд ижил байвал үнэн, өөр бол худал буцаана. 9
!= Тэгш бус байдал Хэрэв операндууд тэнцүү биш бол үнэнийг буцаана 9
=== Баримтлал Хатуу тохирох тодорхойлолтыг ашиглан хоёр операндыг "идентификаци"-г шалгана. Төрөл хувиргалтгүйгээр операндууд тэнцүү байвал үнэнийг буцаана. 9
!== Ижил биш Биеийн байцаалтыг гүйцэтгэдэг. Төрөл хөрвүүлэхгүйгээр операндууд тэнцүү биш бол үнэнийг буцаана. 9
> Илүү Эхний операнд нь хоёр дахьоос их байвал үнэнийг буцаана, үгүй ​​бол худал буцаана. 10
>= Их буюу тэнцүү Эхний операнд хоёр дахьоос багагүй бол үнэнийг буцаана, эс бөгөөс худал буцаана. 10
Эхний операнд хоёр дахьоос бага байвал үнэнийг буцаана, үгүй ​​бол худал буцаана. 10
Эхний операнд хоёр дахьоос ихгүй бол үнэнийг буцаана, эс бөгөөс худал буцаана. 10
5 == "5"; // үнэн 5-г буцаана != -5.0; // үнэн 5-г буцаана === "5"; // худал худал буцаана === худал; // үнэн 1-ийг буцаана !== үнэн; // үнэн 1-ийг буцаана != үнэн; // үнэн 1 3 > -3 болж хувирсан тул худал буцах болно; // үнэн 3-г буцаана >= "4"; // худал буцаана

5. Логик операторууд

Логик операторуудлогик утгыг буцаах нөхцөлүүдийг нэгтгэх боломжийг танд олгоно. if хэллэгт ихэвчлэн ашиглагддаг.

(2 < 3) && (3===3); // вернет true, так как выражения в обеих скобках дают true (x < 10 && x >0); // x нь 0-10 хооронд байвал үнэнийг буцаана !false; // үнэнийг буцаана

6. Битийн операторууд

Битийн операторуудоперандууд дээр нэг ба тэгийн 32 бит дараалал хэлбэрээр ажиллаж, аравтын бутархайн тэмдэглэгээгээр бичсэн үйлдлийн үр дүнг харуулсан тоон утгыг буцаана. Операндууд нь бүхэл тоо, бутархай хэсэгоперандыг устгасан. Битийн үйлдлийг жишээ нь өгөгдлийг шифрлэх, туг далбаатай ажиллах, хандалтын эрхийг хязгаарлах үед ашиглаж болно.

Хүснэгт 6. Битийн операторууд
Оператор/Үйл ажиллагаа Тодорхойлолт Тэргүүлэх асуудал
& Битээр БА Хэрэв хоёр бит хоёулаа 1 бол үр дүнгийн бит нь 1 болно. Үгүй бол үр дүн нь 0 байна. 8
| Битээр OR Хэрэв операндуудын аль нэг нь байрлал дээр 1-ийг агуулж байвал үр дүн нь тухайн байрлал дахь 1-ийг агуулна, эс тэгвээс тухайн байрлал дахь үр дүн 0 болно. 6
^ XOR Хэрэв нэг, зөвхөн нэг утга нь аль ч байрлалд 1-ийг агуулж байвал тухайн байрлал дахь үр дүн нь 1-ийг агуулна, эс тэгвээс тухайн байрлал дахь үр дүн 0 болно. 7
~ Үгүйсгэх дээр битийн үгүйсгэх үйлдлийг гүйцэтгэдэг хоёртын дүрслэлилэрхийллийн утгууд. Анхны илэрхийлэлд 1-г агуулсан аливаа байрлалыг 0-ээр солино. Анхны илэрхийлэлд 0-г агуулсан аливаа байрлал 0 болно. Эерэг тоо 0-ээс, сөрөг тоо -1-ээс эхэлдэг тул ~ n == -(n+1) . 14
Оператор эхний операндын битүүдийг битийн байрлалын тоогоор зүүн тийш шилжүүлдэг хоёр дахь нь байгуулсаноперанд. Тэг нь баруун талын байрлалыг бөглөхөд хэрэглэгддэг. Зүүн талын операндтой ижил төрлийн үр дүнг буцаана. 11
>> Битийг баруун тийш шилжүүлэх Оператор нь эхний операндын битүүдийг хоёр дахь операндын тогтоосон битийн байршлын тоогоор баруун тийш шилжүүлдэг. Хүрээнээс гадуур байгаа цифрүүдийг хасна. Үр дүнгийн тэмдгийг хадгалахын тулд хамгийн чухал бит (32-р) өөрчлөгдөхгүй хэвээр байна. Хэрэв эхний операнд эерэг байвал үр дүнгийн өндөр битүүд тэгээр дүүрнэ; хэрэв эхний операнд сөрөг байвал үр дүнгийн өндөр битүүд нэгээр дүүрнэ. Нэг байрлалаар утгыг баруун тийш шилжүүлэх нь 2-т хуваагдах (үлдэгдэл нь хасагдсан), баруун тийш хоёр байрлалд шилжих нь 4-т хуваах гэх мэт. 11
>>> Тэмдэггүйгээр битийн баруун тийш шилжүүлнэ Оператор нь эхний операндын битүүдийг хоёр дахь операндын тогтоосон битийн байршлын тоогоор баруун тийш шилжүүлдэг. Эхний операндын тэмдгээс үл хамааран тэгийг зүүн талд нэмнэ. Хүрээнээс гадуур байгаа цифрүүдийг хасна. 11
var x = 9, y = 5, z = 2, s = -5, үр дүн; // 9 нь 1001-тэй тэнцүү, 5 нь 0101-тэй тэнцүү үр дүн = x & y; // 1 (0001-тэй тэнцэх) үр дүнг буцаана = x | y; // 13-ыг буцаана (1101-тэй тэнцэх) үр дүн = x ^ y; // 12 (1100-тай тэнцэх) үр дүнг буцаана = ~ y; // -6 (1100-тай тэнцэх) үр дүн = x-г буцаана<< y; // вернет 288 (эквивалентно 100100000) result = x >>z; // 2 (10-тай тэнцэх) үр дүнг буцаана = s >>> z; // 1073741822-г буцаана (11111111111111111111111111110-тай тэнцэх)

7. Мөрний операторууд

Мөр дээр тусгай аргаар ажилладаг хэд хэдэн оператор байдаг.

"1" + "10"; // "110" "1" + 10 буцаана; // "110" 2 + 5 + "өнгөт харандаа" -г буцаана; // "7 өнгийн харандаа"-г буцаана "Өнгөт харандаа" + 2 + 5; // "Өнгөт харандаа 25" "1" > "10"-г буцаана; // худал "10" буцаана<= 10; // вернет true "СССР" == "ссср"; // вернет false x = "micro"; x+= "soft"; // вернет "microsoft"

8. Тусгай операторууд

Хүснэгт 8. Тусгай операторууд
Оператор/Үйл ажиллагаа Тодорхойлолт Тэргүүлэх асуудал
. Үл хөдлөх хөрөнгөд хандах Объектийн шинж чанарт ханддаг. 15
, Олон тооны тооцоолол Нэг мөрөнд бичигдсэн олон бие даасан илэрхийллийг үнэлдэг. 1
Массив индексжүүлэх Массивын элементүүд эсвэл объектын шинж чанаруудад ханддаг. 15
() Функцийн дуудлага, бүлэглэх Үйлдлүүдийг бүлэглэх эсвэл функцийг дууддаг. 15
typeof Өгөгдлийн төрлийн тодорхойлолт Unary оператор нь операндын өгөгдлийн төрлийг буцаана. 14
instanceof Объектийн төрлийг шалгах Оператор нь тухайн объект нь тодорхой ангийн жишээ мөн эсэхийг шалгадаг. Зүүн талын операнд нь объект, баруун талын операнд нь объектын ангийн нэрийг агуулсан байх ёстой. Хэрэв зүүн талд заасан объект нь баруун талд заасан ангийн жишээ бол үр дүн үнэн, үгүй ​​бол худал болно. 10
Үл хөдлөх хөрөнгө байгаа эсэхийг шалгах Зүүн талын операнд нь мөр, баруун талын операнд нь массив эсвэл объект байх ёстой. Хэрэв зүүн утга нь объектын шинж чанар бол үр дүн нь үнэн болно. 10
Шинэ объект үүсгэх Оператор нь тодорхойгүй шинж чанартай шинэ объект үүсгэж, түүнийг эхлүүлэхийн тулд бүтээгчийн функцийг дууддаг (параметр нэвтрүүлэх). Мөн массив үүсгэхэд ашиглаж болно. 1
устгах Оператор нь объектоос шинж чанар эсвэл массиваас элемент устгах боломжийг олгодог. Устгах амжилттай бол үнэн, үгүй ​​бол худал буцаана. Массивын элементийг хасах үед түүний урт өөрчлөгдөхгүй. 14
void Буцах утгагүй илэрхийллийг тодорхойлох Нэгдмэл оператор, операндын утгыг устгаж, дутуугаар буцаана. 14
?: Нөхцөлт илэрхийллийн үйлдэл Гурвалсан оператор нь энгийн салбарлах ажлыг зохион байгуулах боломжийг олгодог. Илэрхийлэлд гурван операнд оролцдог бөгөөд эхнийх нь логикийн утга байх эсвэл түүнд хөрвүүлэгдсэн байх ёстой, хоёр дахь болон гурав дахь нь дурын утгууд байх ёстой. Хэрэв эхний операнд үнэн бол нөхцөлт илэрхийлэл нь хоёр дахь операндын утгыг авна; хэрэв худал бол гурав дахь нь. 3
document.write("Сайн уу ертөнц"); // hello world гэсэн мөрийг харуулна i = 0, j = 1; // функц1(10, 5) хувьсагчийн утгыг хадгалах; // функцийг дуудах функц1 10 ба 5 параметртэй var year = ; // typeof (a:1) элементүүдтэй массив үүсгэнэ; // "объект"-ыг буцаана var d = new Date(); // Date() бүтээгч d instanceof Date ашиглан шинэ объект үүсгэх; // үнэнийг буцаана var mycar = (үйлдвэрлэх: "Honda", загвар: "Accord", он: 2005); mycar-д "хийх"; // үнэн буцаана var obj = new Object(); // хоосон объект үүсгэнэ var food = ["сүү", "талх", "мах", "чидун жимсний тос", "бяслаг"]; хоолыг устгах; // хоол х > 10 массиваас дөрөв дэх элементийг устгана? x*2:x/2; // x > 10 бол x * 2-г буцаана, үгүй ​​бол x / 2

9. JavaScript дээрх сэтгэгдэл

Нэг мөртэй тайлбар: тайлбарын текстийн өмнө // тэмдэгтээр бичнэ.

Нэгдүгээрт, JavaScript хэл дээрх илэрхийллүүдийн талаар товчхон.

JavaScript илэрхийллүүд

JavaScript нь мэдэгдэл, илэрхийллүүдтэй.

Заавар нь утгыг буцаадаггүй.

Илэрхийлэл үргэлжзарим утгыг буцаана. Орчуулагч илэрхийлэлийг хараад түүний утгыг үнэлж, илэрхийллийг утгаар нь сольдог.

Илэрхийлэл нь энгийн эсвэл нийлмэл байдаг. Энгийн илэрхийлэлд бусад хэллэг ордоггүй.

Энгийн илэрхийлэлд дараахь зүйлс орно.

  1. Тодорхойлогч: someVar (хувьсагчийн нэр);
  2. Үг үсэг: "мөр" эсвэл 675 (тоо, эсвэл тоон үсэг);
  3. Үүнтэй төстэй зарим түлхүүр үгс;

Шинжилгээч тодорхойлогчтой тулгарах үед эхлээд түүний утгыг тооцоолох хэрэгтэй, жишээлбэл, хувьсагчийн нэрийг утгаараа солих хэрэгтэй.

Бичгийн утга нь скрипт кодонд бичигдсэнтэй ижил байх болно.

Операторууд ба нарийн төвөгтэй JavaScript илэрхийллүүд

Операторууд нь хэд хэдэн энгийн илэрхийллийг нэг цогц болгон нэгтгэхэд ашиглагддаг.

Операторууд нь:

  • Нэгдмэл (нэг операнд).
  • Хоёртын (хоёр операнд).
  • Гурвалсан оператор уу? JavaScript дээр (гурван операнд, зөвхөн нэг гуравдагч оператор байдаг).

Операнд гэдэг нь оператор ашигладаг энгийн илэрхийлэл юм.

Жишээлбэл, арифметик нэмэх оператор "+" нь хоёртын оператор юм. Энэ нь зүүн ба баруун операндыг нэгтгэж, нийлбэрийг буцаана.

vardigit = 4 + 7;

Дашрамд хэлэхэд даалгаврыг "="" гэсэн оператор ашиглан гүйцэтгэдэг. Энэ оператор баруун операндын утгыг үнэлж, зүүн талын операнд руу онооно.

JavaScript нь нэгдмэл давуу талтай, зөвхөн нэг операндтай. Unary plus биш арифметик оператор, энэ нь операндыг тоо болгон хувиргадаг.

Var myVar = "7"; document.write(typeof(myVar) + "
"); // myVar = +myVar мөрийг хэвлэнэ; document.write(typeof(myVar) + "
"); // Баримт бичигт дугаар хэвлэх

Эхлээд myVar нь тоон (тоо) биш харин мөрийн төрлийн (мөр) үгийн утга болох "7" мөрийг агуулж байсан. Unary plus операторын тусламжтайгаар бид мөрийн литералыг тоон хэлбэрт хөрвүүлсэн.

Арифметик үйлдлүүд

Арифметик үйлдлүүд нь сайн мэддэг математикийн үйлдлүүд юм.

Магадгүй% (үлдэгдэл) операторыг тодруулах шаардлагатай байж магадгүй юм. 9 нь 5-д 4-ийн үлдэгдэлтэй хуваагдах ба энэ оператор буцаана. Үүнийг мөн модуль авах гэж нэрлэдэг. Бүхэл тоо ашиглах үед энэ операторын үр дүн мөн бүхэл тоо байх болно. Хөвөгч цэгийн тоонууд дээр ажиллах үед үр дүн нь хөвөгч цэгтэй тоо болно.

5.5 % 2.2 = 1.1

Арифметик үйлдлүүд буруу хийгдсэн тохиолдолд дараахь үр дүнд хүргэж болзошгүйг санах нь зүйтэй.

  • NaN (Тоо биш) - тоо биш.
  • Хязгааргүй - хязгааргүй.

Тэгээр хуваахад дараах үр дүн гарч ирнэ.

Var myVar = 0 / 0; document.write("Хувьсагчийн утга: " + myVar + ", түүний төрөл: " + typeof(myVar) + "
");

Харьцуулах үйлдлүүд

Харьцуулалтын операторуудыг илэрхийллийг тааруулахын тулд ашигладаг. Нөхцөлт оператор бүхий илэрхийлэл нь логик утгыг буцаана - үнэн эсвэл худал (үнэн / худал).

Харьцуулалтын үйлдлүүдийг мөрүүдээр хийж болно, үүнийг өөр хичээл дээр авч үзэх болно. Зөв үр дүнд хүрэх цорын ганц нөхцөл бол ижил төрлийн өгөгдлийг тааруулах явдал юм. Үгүй бол JavaScript нь өгөгдлийг нэг төрлөөс нөгөөд хөрвүүлэхийг оролдох бөгөөд энэ нь үргэлж боломжгүй байдаг. Алдаа гаргахгүйн тулд зөвхөн ижил төрлийн өгөгдлийг харьцуулах хэрэгтэй.

Даалгаврын үйлдлүүд

Даалгаврын операторын хамгийн тод жишээ бол энгийн даалгавар (=) юм. Энэ оператор (=) нь хувьсагчид утга оноохдоо хэрэглэгддэг.

Гэхдээ товчилсон хэд хэдэн даалгавар үйлдлүүд байдаг.

Булийн үйлдлүүд

Boolean үйлдлүүд нь ихэвчлэн JS-д if else бүтцэд ашиглагддаг. Энэ дизайны жишээн дээр тэдний ажлыг харуулах болно. Гэхдээ эхлээд логик операторуудын жагсаалт.

Одоо энгийн жишээнүүд:

Хэрэв (үнэн && үнэн) байвал document.write("Энэ ажиллаж байна!
"); хэрэв (үнэн || худал) document.write("Энэ ажиллаж байна!
"); if (!false) document.write("Энэ ажиллаж байна!
");

Эдгээр жишээнүүдийг харцгаая:

Логик AND оператор (&&) нь хоёр операнд үнэн бол үнэнийг буцаана.

Логик OR оператор (||) нь ядаж нэг операнд үнэн байвал үнэнийг буцаана.

Логик NOT оператор (!) нэг операнд авч, үнэн/худал утгыг буцаана.

Нэгдмэл операторууд

Unary операторууд нь нэг операндтай операторууд юм. Эдгээр операторуудын зарим нь энд байна:

  • ++ - 1-ээр нэмэгдэнэ (өсөлт). Энэ нь угтвар болон постфикс байж болно, энэ талаар доор дэлгэрэнгүй үзнэ үү.
  • -- - 1-ээр буурах (буурах). Энэ нь угтвар болон постфикс байж болно, энэ талаар доор дэлгэрэнгүй үзнэ үү.
  • + - нэгдмэл нэмэх.
  • - - нэг төрлийн хасах.

нэгдмэл хасах

Нэгдмэл хасах нь илэрхийллийн тэмдгийг буцаана. Жишээлбэл, та программ дээр -100 гэж бичихдээ тоон 100-д ​​нэгдмэлийн хасахыг хэрэглэнэ.

Нэгдмэлийн хасах нь яг хэрхэн ажилладагийг ойлгох хэрэгтэй - энэ нь эсрэг тэмдэгтэй операндын утгыг буцаана. Нэгдмэлийн хасахыг хэрхэн зөв ашиглах жишээ энд байна.

Var myVar = -100; document.write(-myVar + " - нэгдмэлийн хасах нь ажилласан боловч хувьсагч нь мөн = " + myVar + ".
"); myVar = -myVar; document.write("Одоо хувьсагч = " + myVar + ".
");

Давхар унар хасах утгагүй жишээ энд байна. Энэ нь боловсролын зорилгоор хэрэг болно гэж бодож байна:

Var myVar = -100; document.write(--myVar + " нь нэмэгдэл бөгөөд давхар нэгдэл хасах биш.
"); document.write("Одоо хувьсагч = " + myVar + ".
"); document.write(-(-myVar) + " нь нэгдмэлийн хасах давхар хэрэглээ юм.
");

нэгдмэл нэмэх

Unary plus нь математикийн ямар ч үйлдлийг гүйцэтгэдэггүй. Энэ нь тоон төрөл рүү шууд утгыг шилжүүлдэг.

Var myVar = "78687"; document.write(typeof(myVar) + ".
"); myVar = +myVar; document.write(typeof(myVar) + ".
");

өсөлт ба бууралт

Програмчлалд хувьсагчийн утгыг нэгээр нэмэгдүүлэх эсвэл багасгах шаардлагатай байдаг. Үүнд нэгдмэл операторууд байдаг:

  • ++ - 1-ээр нэмэгдэнэ (өсөлт).
  • -- - 1-ээр буурах (буурах).

Нэгдмэл нэмэх, хасахаас ялгаатай нь өсөлт, бууралт нь дуудах үед хувьсагчийн утгыг өөрчилдөг.

Var myVar = 10; document.write(++myVar + ".
"); document.write(myVar + ".
");

Бууруулах (-- ) нь мөн адил ажилладаг.

Одоо эдгээр операторуудын угтвар болон постфиксийн хэрэглээг авч үзье.

  • ++myVar - угтвар 1-ээр нэмэгдэнэ.
  • myVar++ - постфикс 1-ээр нэмэгддэг.

Үүний ялгаа нь:

  • Эдгээр операторуудын угтвар ашиглалт нь эхлээд нэгдмэл операторын утгыг үнэлж, дараа нь үр дүнг илэрхийлэлд ашигладаг.
  • Postfix хэрэглээ нь эхлээд илэрхийллийг үнэлж, дараа нь нэгдмэл операторыг (++ эсвэл -- ) гүйцэтгэдэг.

Энгийн жишээ танд үүнийг ойлгоход тусална:

Var myVar = 10; document.write((++myVar + 5) + ".

"); var myVar = 10; document.write((myVar++ + 5) + ".
"); document.write("Хувьсагч = " + myVar + ".
");

Өсөлт, бууралтыг зөвхөн хувьсагчдад ашиглах боломжтой, тэдгээрийг тоон литералуудад хэрэглэх боломжгүй. Энгийнээр хэлэхэд ++7 код нь скриптэд алдаа өгсөн.

Бусад операторууд

JavaScript нь бусад операторуудтай:

  • Гурван (гурван операндтай) оператор
Баримт бичгийн агуулгын хүснэгт

JavaScript нь интерактив вэб хуудас үүсгэхэд ашиглаж болох авсаархан операторуудыг дэмждэг. Энэ бүлэгт эдгээр операторуудын тоймыг оруулсан болно.

Энэ бүлэгт дараах хэсгүүдийг агуулсан болно богино тоймоператор бүр:

  • Блок операторууд: { }
  • Болзолт мэдэгдэл: хэрэв... өөрөөрболон солих
  • Давталтын операторууд: for, while, do... while, label, break and continue (шошгоЭнэ нь дангаараа давталтын мэдэгдэл биш боловч ихэвчлэн эдгээр мэдэгдлүүдтэй хамт хэрэглэгддэг)
  • Объектыг удирдах операторууд: төлөө...дболон хамт
  • Сэтгэгдэл
  • Онцгой байдлын мэдэгдлүүд: оролдоод үз... барихболон шидэх
Аливаа илэрхийлэл нь мөн оператор юм. Үйлдлийн талаарх дэлгэрэнгүй мэдээллийг "Илэрхийлэл ба үйлдлүүд" хэсгийн 3-р бүлгээс үзнэ үү.

JavaScript кодын хэллэгийг салгахын тулд цэг таслалыг (;) ашиглана уу.

Үндсэн JavaScript-г үзнэ үү. Лавлах. Энэ бүлгээс операторуудын талаарх дэлгэрэнгүй мэдээлэл.

1. Мэдэгдэл блок

Мэдэгдэл блок нь мэдэгдлийг бүлэглэхэд ашиглагддаг. Блок нь буржгар хаалтаар тусгаарлагдсан:

(мэдэгдэл1 мэдэгдэл 2 . . мэдэгдэл )

2. Болзолт өгүүлбэр

Нөхцөлт мэдэгдэл нь хэрэв заасан нөхцөл бол гүйцэтгэгдэх командуудын багц юм - үнэн. JavaScript нь хоёр нөхцөлт мэдэгдлийг дэмждэг: хэрэв... өөрөөрболон солих.

2.1. if... else мэдэгдэл

Хэрэв логик нөхцөл байвал энэ мэдэгдлийг тодорхой хэллэгүүдийг гүйцэтгэхэд ашигладаг үнэн; нэмэлт блок ашиглах өөрнөхцөл байгаа бол бусад мэдэгдлийг гүйцэтгэх худлаа. if мэдэгдэл дараах байдалтай байна.

if (нөхцөл ) ( мэдэгдлүүд 1 ) [ else ( мэдэгдлүүд 2 ) ]

Нөхцөл нь ямар ч JavaScript илэрхийлэл байж болно үнэнэсвэл худлаа. Гүйцэтгэх мэдэгдлүүд нь үүрлэсэн мэдэгдлүүд зэрэг ямар ч JavaScript хэллэг байж болно. хэрэв. Хэрэв та мэдэгдлүүдийн дараа нэгээс олон мэдэгдлийг гүйцэтгэх шаардлагатай бол хэрэвэсвэл өөр, та эдгээр гүйцэтгэх мэдэгдлийг буржгар хаалтанд () хавсаргах ёстой.

Та нөхцөлт мэдэгдэлд энгийн даалгавруудыг ашиглах ёсгүй. Жишээлбэл, энэ кодыг бүү ашигла:

Хэрэв та нөхцөлт өгүүлбэрт даалгаврыг ашиглах шаардлагатай бол даалгаврын мэдэгдлийн эргэн тойронд нэмэлт хаалт хийнэ үү. Жишээлбэл, хэрэв((x = y)).

Анхан шатны ойлголтыг бүү андуураарай Булийн- үнэ цэнэ үнэнболон худлааүнэт зүйлстэй үнэнболон худлааобьект Булийн. Үнэ цэнэгүй аливаа объект тэмдэглэгдээгүй, null, тэг, **NaN** эсвэл объектыг оруулаад хоосон мөр Булийнутга учиртай худлаа, онд тооцсон үнэннөхцөлт оператор руу шилжих үед. Жишээлбэл:

varb = new Boolean(худал) ; хэрэв (б) // энэ нөхцөлийг үнэн гэж үнэлдэг

Жишээ.

Энэ жишээнд функц CheckDataбуцаж ирдэг үнэнтэмдэгтийн тоо бол Текст-объект гуравтай тэнцүү; Үгүй бол анхааруулгыг хэвлээд буцаана худлаа.

функц checkData () ( хэрэв (баримт бичиг . form1 . threeChar . утга . урт == 3 ) ( үнэнийг буцаана ) else ( дохиолол (" Яг гурван тэмдэгт оруулна уу." + баримт . form1 . threeChar . утга + " хүчингүй байна. ") худал буцаана))

2.2. солих мэдэгдэл

Оператор солихпрограмд ​​илэрхийлэлийг үнэлэх боломжийг олгож, илэрхийллийн утгыг кейсийн шошгон дээрх утгатай тааруулахыг оролддог. Хэрэв тохирох зүйл олдвол програм нь холбогдох мэдэгдлийг гүйцэтгэдэг. Оператор солихиймэрхүү харагдаж байна:

шилжүүлэгч (илэрхийлэл)( тохиолдлын шошго: мэдэгдэл; завсарлага; тохиолдол шошго: мэдэгдэл; завсарлага; ... анхдагч: мэдэгдэл;)

Програм эхлээд хайж байна шошго, энэ нь утгатай тохирч байна илэрхийлэлдараа нь холбогдох мэдэгдлийг гүйцэтгэнэ. Хэрэв таарч байвал шошгоолдсонгүй, програм нь нэмэлт програм хайж байна анхдагч мэдэгдэл/ оператор нь анхдагч бөгөөд хэрэв олдвол холбогдох операторыг ажиллуулна. Хэрвээ анхдагч мэдэгдэлолдсонгүй, програм нь мэдэгдлийн төгсгөлийн дараах мэдэгдлийг үргэлжлүүлэн гүйцэтгэнэ солих.

Нэмэлт оператор завсарлага, шошготой холбоотой хэрэг шошго, програм нь мэдэгдлийн гүйцэтгэлийг тасалдуулах болно гэдгийг баталгаажуулдаг солих, олдсон тохирлын мэдэгдлийг гүйцэтгэмэгц, мэдэгдлийн дараах мэдэгдлээс гүйцэтгэлийг үргэлжлүүлнэ. солих. Хэрвээ завсарлагабайхгүй бол програм мэдэгдэл доторх дараагийн мэдэгдлийг үргэлжлүүлэн ажиллуулна солих.

Жишээ.

Энд бол exprнь Bananas-д үнэлдэг, програм нь гадил жимсний тохиолдолтой таарч, холбогдох мэдэгдлийг гүйцэтгэдэг. Хэрэв завсарлага олдвол програмыг зогсооно солихмөн мэдэгдлийн блокийн дараа мэдэгдлийг гүйцэтгэнэ солих. Хэрвээ завсарлагабайхгүй, оператор нь хэрэгИнтоор бас хийх болно.

switch (expr ) ( case "Oranges" : document . write (" Жүржийн үнэ фунт нь 0.59 доллар байна.
" ); завсарлага ; case " Apples " : баримт бичиг . write (" Алим фунт нь 0,32 доллар.
" ); завсарлага; "Банана" тохиолдол: баримт бичиг. бичих (" Банана нэг фунт нь 0.48 доллар.
" ); завсарлага ; тохиолдол " Cherries " : баримт бичиг . бичих (" Интоор нэг фунт нь 3.00 доллар.
" ) ; завсарлага ; анхдагч : баримт бичиг . бичих (" Уучлаарай, бид " + i + " -ээс гарсан.
" ); ) document.write(" Танд өөр ямар нэг зүйл байна уу?
" ) ;

3. Давталтын мэдэгдлүүд

Дугуй/ гогцооЭнэ нь тодорхой нөхцөлийг биелүүлэх хүртэл олон удаа гүйцэтгэгддэг хэллэгүүдийн багц юм. JavaScript нь мөчлөгийн мэдэгдлийг дэмждэг төлөө, хийх зуурболон байхад, түүнчлэн шошго (шошгонь дангаараа давталтын мэдэгдэл биш, гэхдээ ихэвчлэн эдгээр мэдэгдлүүдтэй хамт хэрэглэгддэг). Эсвэл та операторуудыг ашиглаж болно завсарлагаболон үргэлжлүүлдотоод давталтын мэдэгдлүүд.

Өөр нэг давталтын мэдэгдэл төлөө...д, мөн өөрийн мэдэгдлүүдээ давталтаар гүйцэтгэдэг боловч объектууд дээр ажиллахад ашиглагддаг. Объектыг удирдах операторуудыг үзнэ үү.

3.1. мэдэгдлийн төлөө

Цикл төлөөзаасан утга хүртэл давтана худлаа. JavaScript давталт төлөөмөчлөгтэй төстэй төлөө Java ба C. Оператор төлөөиймэрхүү харагдаж байна:

for ([ initialExpression ] ; [ нөхцөл ] ; [ incrementExpression ]) ( мэдэгдлүүд )

Цикл болох үед төлөөгүйцэтгэсэн тохиолдолд дараахь зүйл тохиолддог.

1. Илэрхийлэлийг эхлүүлэх анхны илэрхийлэл, хэрэв байгаа бол гүйцэтгэнэ. Энэ илэрхийлэл нь ихэвчлэн нэг буюу хэд хэдэн давталтын тоолуурыг эхлүүлдэг бөгөөд синтакс нь аливаа нарийн төвөгтэй байдлын илэрхийллийг зөвшөөрдөг. Энэ илэрхийлэл нь хувьсагчдыг зарлаж болно.


2. Нөхцөл байдлын илэрхийлэлийг үнэлнэ. Хэрэв үнэ цэнэ нөхцөл - үнэн, мэдэгдлүүд/хөгцлийн мэдэгдлүүд гүйцэтгэгдэнэ. Хэрэв үнэ цэнэ нөхцөл - худал, мөчлөг төлөөажиллахаа болино. Хэрэв илэрхийлэл бол нөхцөлбүрэн байхгүй гэж таамаглаж байна нөхцөл - үнэн.


3. Гүйцэтгэсэн мэдэгдэл.


4. Илэрхийлэлийг шинэчлэх incrementExpression, хэрэв байгаа бол хийгдэх ба хяналт 2-р алхам руу буцна.


Жишээ.

Энэ функц нь операторыг агуулдаг төлөөгүйлгэх жагсаалтад сонгосон сонголтуудын тоог тоолдог (объект Сонго, олон зүйлийг сонгох боломжийг танд олгоно). Оператор төлөөхувьсагчийг зарладаг битэгээд үүнийг тэг болгож эхлүүлнэ үү. Энэ нь бага эсэхийг шалгадаг биобъектын сонголтуудын тоо Сонго, операторыг гүйцэтгэдэг хэрэвболон хувьсах өсөлт бидавталт бүрийн дараа нэгээр.

Зарим хөгжмийн төрлийг сонгоод доорх товчийг дарна уу:

"alert("Сонгосон сонголтуудын тоо: " + howMany(document.selectForm.musicTypes))">

3.2. мэдэгдэл хийх үед хийх

Оператор хийх зуурзаасан илэрхийлэл болох хүртэл давтана худлаа.Оператор хийх зууриймэрхүү харагдаж байна:

хийх (мэдэгдэл) while (нөхцөл)

мэдэгдэлнөхцөлийг шалгахаас өмнө нэг удаа гүйцэтгэнэ. Хэрвээ нөхцөл - үнэн, мэдэгдлийг дахин гүйцэтгэв. Гүйцэтгэл бүрийн төгсгөлд нөхцөлшалгасан. Хэрвээ нөхцөл - худал, гүйцэтгэл зогсч, дараа нь хяналтыг операторт шилжүүлнэ хийх зуур.

Жишээ.

Энэ жишээнд гогцоо хийхдор хаяж нэг удаа давталт хийх ба хүртлээ давтагдана бибага 5 .

do ( i += 1 ; баримт бичиг . write (i ) ; ) while (i< 5 ) ;

3.3. while мэдэгдэл

Оператор байхадзаасан нөхцөл байсаар байхад мэдэгдлүүдээ гүйцэтгэдэг үнэн. Оператор байхадиймэрхүү харагдаж байна:

байхад (нөхцөл) (мэдэгдэл)

Хэрвээ нөхцөлболдог худлаа, давталт доторх хэллэгүүд ажиллахаа больж хяналтыг давталтын дараах мэдэгдэлд шилжүүлнэ.

Нөхцөл/нөхцөл шалгах нь давталт доторх мэдэгдлүүдийг гүйцэтгэхээс өмнө хийгддэг. Хэрвээ нөхцөлбуцаж ирдэг үнэн, мэдэгдлүүд гүйцэтгэгдэж байна нөхцөлдахин шалгасан. Хэрэв нөхцөл буцаж ирвэл худлаа, давталтын гүйцэтгэл дуусгавар болж, удирдлага нь операторыг дагаж байгаа оператор руу шилжинэ байхад.

Жишээ 1

Энэ мөчлөг байхадхүртэл давтана nбага 3 :

n = 0 x = 0 байхад (n< 3 ) { n ++; x += n ; }

Давталт бүрт гогцоо нэмэгддэг nмөн энэ утгыг хувьсагчид нэмнэ x. Үүний үр дүнд, xболон nдараах утгыг авна.

  • Эхний дамжуулалтын дараа: n=1 ба x=1
  • Хоёр дахь дамжуулалтын дараа: n=2 ба x=3
  • Гурав дахь дамжуулалтын дараа: n=3 ба x=6
Гурван давталт хийсний дараа, нөхцөл n< 3 үнэн байхаа больсон тул гогцоо тасалдсан.

Жишээ 2: Хязгааргүй давталт.

Хэзээ нэгэн цагт гогцооны нөхцөл байдал болно гэдэгт итгэлтэй байгаарай худлаа; тэгэхгүй бол мөчлөг хэзээ ч тасрахгүй. Дараагийн мөчлөгийн мэдэгдэл байхаднөхцөл хэзээ ч болохгүй тул тодорхойгүй хугацаагаар гүйцэтгэгддэг худлаа:

байхад (үнэн) ( сэрэмжлүүлэг ("Сайн уу, ертөнц") )

3.4. шошгоны мэдэгдэл

Оператор шошгонь програмын хаанаас ч лавлаж болох танигч юм. Жишээлбэл, та ашиглаж болно шошгогогцоог тодорхойлж, дараа нь мэдэгдлүүдийг ашиглана завсарлагаэсвэл үргэлжлүүлгогцоог таслах эсвэл гүйцэтгэлийг үргэлжлүүлэх.

Операторын синтакс шошгоиймэрхүү харагдаж байна:

шошго: мэдэгдэл

Утга шошгонөөц үг биш ямар ч хүчинтэй JavaScript танигч байж болно. мэдэгдлийг тодорхойлсон шошго, дурын оператор байж болно.

Жишээ.

Энэ жишээнд шошго markLoopмөчлөгийг тодорхойлдог байхад.

markLoop : while (theMark == true ) doSomething () ; )

3.5. break мэдэгдэл

Операторыг ашиглана уу завсарлагагогцоог таслах солихэсвэл оператор шошготой шошго.
  • Хэрэв та хэрэглэж байгаа бол завсарлагагүйгээр шошго, энэ нь хамгийн ойрын агуулгыг нэн даруй эвддэг байхад, хийх зуур, төлөөэсвэл солихба дараагийн оператор руу хяналтыг дамжуулдаг.
  • Хэрэв та хэрэглэж байгаа бол завсарлага-тай шошго, энэ нь заасан хаяглагдсан мэдэгдлийг зогсооно.
Операторын синтакс завсарлагань:

нэг . завсарлага 2. шошгыг эвдэх

Эхний сонголт нь хамгийн ойрын агуулсан давталтыг эвддэг, эсвэл солих; хоёр дахь сонголт нь шошготой заасан мэдэгдлийг тасалдаг.

Жишээ.

Энэ нь утга бүхий элементийн индексийг олох хүртэл массивын элементүүдийг давтдаг үнэ цэнэ:

хувьд (i = 0; i< a . length ; i ++ ) { if (a [ i ] = theValue ) break ; }

3.6. мэдэгдлийг үргэлжлүүлэх

Оператор үргэлжлүүлмэдэгдлийг дахин эхлүүлэхэд ашигладаг байхад, хийх зуур, төлөөболон шошго.
  • Хэрэв та хэрэглэж байгаа бол үргэлжлүүлгүйгээр шошго, энэ нь хамгийн ойрын давталтын одоогийн давталтыг эвддэг while, do-whileэсвэл төлөөдараагийн давталтаар энэ давталтыг үргэлжлүүлэн гүйцэтгэнэ. Оператороос ялгаатай завсарлах, үргэлжлүүлэхгогцоог бүрэн тасалдаггүй. Цикл дотор байхадтэр очдог нөхцөл. for циклд асаалттай байна нэмэгдүүлэх-илэрхийлэл.
  • Хэрэв та ашиглаж байгаа бол үргэлжлүүлнэ үү шошго, энэ нь үүгээр тодорхойлсон давталтын мэдэгдэлд хамаарна шошго.
Операторын синтакс үргэлжлүүлнь:

нэг . үргэлжлүүлэх 2. үргэлжлүүлэх шошго

Жишээ 1

Энэ бол гогцооны жишээ юм байхадоператортой үргэлжлүүл, утгыг нь гүйцэтгэнэ битэнцүү байна 3 . Энэ замаар, n 1, 3, 7, 12 утгыг авна.

i = 0 n = 0 байхад (i< 5 ) { i ++; if (i == 3 ) continue ; n += i ; }

Жишээ 2

Оператор гэж тэмдэглэгдсэн checkiandj, гэж тэмдэглэгдсэн мэдэгдлийг агуулна checkj. Хэрэв илэрсэн бол үргэлжлүүл, програм нь одоогийн давталтыг тасалдаг checkjдараагийн давталтыг эхлүүлнэ. Үргэлжлэлтэй тулгарах бүрт, checkjнөхцөл буцаж ирэх хүртэл дахин давтаж эхэлнэ худлаа. Хэрэв буцаж ирвэл худлаа, мэдэгдлийн үлдсэн хэсгийг гүйцэтгэнэ checkiandjболон checkiandjнөхцөл нь худал болох хүртэл давтагдана. Хэрэв буцаж ирвэл худлаа, програм нь дараах мэдэгдлээс үргэлжлүүлэн ажиллана checkiandj.

Хэрэв үргэлжлүүлэх боломжтой шошготөлөө checkiandj, програм нь мэдэгдлийн эхнээс гүйцэтгэлийг үргэлжлүүлнэ checkiandj.

checkiandj : while (i< 4 ) { document . write (i + "
" ); i += 1 ; checkj : while (j > 4 ) ( баримт бичиг . бичих (j + "
" ) ; j -= 1 ; хэрэв ((j % 2 ) == 0 ) үргэлжлүүлэн шалгахj ; баримт бичиг. бичих (j + " сондгой.
" ); ) document.write(" i = " + i + "
" );document.write(" j = " + j + "
" ) ; }

4. Объектыг удирдах операторууд

JavaScript нь операторуудыг ашигладаг төлөө...дболон хамтобъектуудыг удирдах.

4.1. төлөө... мэдэгдэлд

Оператор төлөө...добъектын бүх шинж чанарт заасан хувьсагчийг давтдаг. Хүрсэн өмч бүрийн хувьд JavaScript заасан мэдэгдлүүдийг гүйцэтгэдэг. Оператор төлөө...диймэрхүү харагдаж байна:

For (объект дахь хувьсагч) (

Жишээ.

Энэ функц нь объект болон объектын нэрийг аргумент болгон авдаг. Дараа нь тухайн объектын бүх шинж чанаруудыг давтаж, тэмдэгтийн нэрсийн жагсаалт ба тэдгээрийн утгуудын мөрийг буцаана.

функц dump_props (obj , obj_name ) ( var үр дүн = "" ; for (var i in obj ) ( үр дүн += obj_name + " . " + i + " = " + obj [ i ] + "
" ) үр дүн += "


"; үр дүнг буцаана;)

Объектийн хувьд машиншинж чанаруудтай хийхболон загварүр дүн нь иймэрхүү байх болно:

машин. make = Ford машин . загвар = Мустанг

4.2. мэдэгдэлтэй

Оператор хамтмэдэгдлийн блокийн өгөгдмөл объектыг тохируулна. JavaScript нь мэдэгдлийн блок доторх шаардлага хангаагүй нэрийг харж, нэр нь объектын анхдагч шинж чанар мөн эсэхийг тодорхойлдог. Хэрэв шаардлага хангаагүй нэр нь өмч бол тухайн өмчийг мэдэгдэлд ашигласан болно; өөрөөр хэлбэл локал эсвэл глобал хувьсагчийг ашиглана.

with мэдэгдэл дараах байдалтай байна.

(объект)( мэдэгдлүүд)-тэй

Жишээ.

Энд оператор байна хамтобъект гэдгийг тодорхойлдог Математиканхдагч объект юм. with-ийн дараах мэдэгдлүүд нь өмчийг хэлнэ PIболон аргууд cosболон нүгэлобъектын тодорхойлолтгүйгээр. JavaScript нь объект авдаг МатематикЭдгээр дуудлагын объект болгон.

var a , x , y ;; var r = 10 (Math ) ( a = PI * r * r ; x = r * cos (PI ) ; y = r * sin (PI / 2); )

Анхаарна уу:

with хэллэгийг ашиглах нь програмын гүйцэтгэлийг мэдэгдэхүйц удаашруулдаг.

5. Сэтгэгдэл

Сэтгэгдэл нь ихэвчлэн код юу болохыг тайлбарладаг. Тайлбарыг орчуулагч үл тоомсорлодог. JavaScript нь Java болон C++ загварын тайлбаруудыг дэмждэг:
  • Мөрийн эхэнд давхар налуу зураас бүхий нэг мөр тайлбар (//).
  • Эхэнд нь /*, төгсгөлд нь */ тэмдэглэгдсэн олон мөр тайлбар.
Жишээ.

Энд хоёр тайлбарын жишээ байна:

// Энэ бол нэг мөр тайлбар юм. /* Энэ бол олон мөр юм. Энэ нь ямар ч урт байж болох бөгөөд та энд хүссэн зүйлээ тавьж болно. */

6. Exception handling statements

Та мэдэгдлийн хамт үл хамаарах зүйлийг гаргаж болно шидэхмөн операторуудтай хамтран боловсруулах оролдоод үз... барих.

Оператор оролдоод үз... барихмөн Java-н онцгой тохиолдлуудыг зохицуулахад ашигладаг. "Java-д Java-ийн онцгой тохиолдлуудыг зохицуулах" болон "Java-д JavaScript-н үл хамаарах зүйлсийг зохицуулах"-ыг үзнэ үү.

6.1. мэдэгдэл хаях

Оператор шидэхонцгой тохиолдол гаргахад ашигладаг. Хэрэв та үл хамаарах зүйл хийвэл та онцгой байдлын утгыг агуулсан илэрхийллийг зааж өгнө:

илэрхийлэл

Дараах код нь хэд хэдэн үл хамаарах зүйлийг гаргадаг.

"Алдаа2" шидэх; // тэмдэгт мөрийн утгатай үл хамаарах зүйл үүсгэдэг 42 шидэх; // 42 утга бүхий онцгой тохиолдол гаргадагүнэн хаях; // үнэн утга бүхий онцгой тохиолдол гаргадаг

Онцгой тохиолдол гаргахдаа та объектыг зааж өгч болно. Дараа нь та блок дахь объектын шинж чанаруудад хандах боломжтой барих. Дараах жишээ нь объект үүсгэдэг myUserExceptionтөрөл UserExceptionмөн мэдэгдэлд ашиглах шидэх.

// UserException төрлийн объект үүсгэгдсэнфункц UserException (мессеж) (энэ . мессеж = мессеж ; энэ . нэр = " UserException " ; ) // Объектын жишээ үүсгээд дуудагдана myUserException = шинэ UserException (" Утга хэт өндөр " ); myUserException шидэх;

6.2. оролдоорой... catch мэдэгдэл

Оператор оролдоод үз... бариххэллэгүүдийн блокийг тэмдэглэж, тэдгээрийг гүйцэтгэх оролдлого хийж, үл хамаарах зүйл тохиолдоход нэг буюу хэд хэдэн хариултыг зааж өгнө. Хэрэв онцгой тохиолдол гарвал оператор оролдоод үз... барихтүүнийг барьж авдаг.

Оператор оролдоод үз... барихблокоос бүрдэнэ хичээ, нэг буюу хэд хэдэн мэдэгдэл, тэг буюу түүнээс олон блок агуулсан барих, блоконд үл хамаарах зүйл шидэгдсэн үед хийх үйлдлийг зааж өгөх мэдэгдлүүдийг агуулсан хичээ. Хэрэв та блок гүйцэтгэхийг хүсч байвал хичээмөн энэ нь гүйцэтгэгдээгүй байна, та блок руу хяналтыг дамжуулдаг барих. Хэрэв ямар нэгэн блок мэдэгдэл хичээ(эсвэл блокоос дуудагдсан функцийн оператор хичээ) онцгой тохиолдол гаргавал хяналт шууд блок руу шилждэг барих. Хэрэв үл хамаарах зүйл хийгдээгүй бол блок барихалгассан. Блоклох эцэст ньблок гүйцэтгэлийн дараа гүйцэтгэгдэнэ хичээболон барих, гэхдээ мэдэгдлийн блокийн дараах мэдэгдлийг гүйцэтгэхээс өмнө оролдоод үз... барих.

Дараах жишээнд операторыг ашигладаг оролдоод үз... барих. Функцид дамжуулсан утга дээр үндэслэн массиваас тухайн сарын нэрийг асуудаг функцийг нэрлэдэг. Хэрэв утга нь сарын дугаартай (1-12 ) таарахгүй бол тухайн утгын хамт үл хамаарах зүйл үүснэ "Хүчингүй сарҮгүй"болон блок мэдэгдэл бариххувьсагчийг тохируулна уу сарын нэрутга учир үл мэдэгдэх.

функц getMonthName (mo ) ( mo = mo - 1 ; // Сарын тоог массивын индексээр тодорхойлно (1=1-р сар, 12=12-р сар) var сар = шинэ массив (" Jan " , " Хоёрдугаар сар " , " Гуравдугаар сар " , " Дөрөвдүгээр сар " , " Тавдугаар сар " , " 6 сар " , " Долдугаар сар " , " Наймдугаар сар " , " Есдүгээр " , " 10 " , " Аравдугаар сар ", "dec"); if (сар [ сар ] != null ) ( буцах сар [ сар ] ) else ( " InvalidMonthNo " шидэх ) ) оролдоно уу ( // эдгээр мэдэгдлүүдийг гүйцэтгэхийг оролдоно уу:сарынНэр = getMonthName(миний сар) // функц нь үл хамаарах зүйл үүсгэж болно) catch (e ) ( monthName = " үл мэдэгдэх " logMyErrors (e ) // онцгой тохиолдол гаргасан объектыг онцгой байдлын зохицуулагч руу шилжүүлнэ}

шидэх; Та энэ танигчийг ашиглан хаягдсан үл хамаарах зүйлийн талаар мэдээлэл авах боломжтой. JavaScript нь блок оруулах үед энэ ID-г үүсгэдэг барих; танигч нь зөвхөн блок гүйцэтгэх үед л байдаг барих; блок дууссаны дараа барих ID байхгүй болсон.

Жишээлбэл, дараах код нь үл хамаарах зүйл үүсгэдэг. Хэрэв онцгой тохиолдол гарвал хяналтыг блок руу шилжүүлнэ барих.

оролдох("myException"-г шидэх // үл хамаарах зүйл хаяглагдсан) барих (e) ( // аливаа үл хамаарах зүйлийг зохицуулах мэдэгдлүүд logMyErrors (e) // онцгой тохиолдлыг алдаа гаргагчид дамжуулсан}

Олон барих блок

Ганц оператор хичээхэд хэдэн нөхцөлт блок агуулж болно барих, тус бүр нь тодорхой төрлийн үл хамаарах зүйлийг зохицуулдаг. Энэ тохиолдолд тохирох нөхцөлт блок руу оруулна барихзөвхөн энэ блокт заасан үл хамаарах зүйл шидэгдсэн үед л гүйцэтгэгдэнэ. Та мөн тусдаа блок оруулах боломжтой барихэцсийн блок болгон тодорхойгүй бүх үл хамаарах зүйлүүдийн хувьд барихоператор дээр.

Жишээлбэл, дараагийн функцөөрийн аргументуудыг шалгах өөр гурван функцийг (өөр газар зарласан) дууддаг. Хэрэв тестийн функц нь шалгаж буй бүрэлдэхүүн хэсэг нь хүчингүй болохыг тогтоовол 0-ийг буцааснаар дуудагч заасан үл хамаарах зүйлээ хаяхад хүргэдэг.

функц getCustInfo (нэр , id , имэйл ) ( var n , i , e ; хэрэв (! validate_name (нэр )) шидэх " InvalidNameException " эс бөгөөс n = нэр ; хэрэв (! validate_id (id )) " InvalidIdException " шидэх өөрөөр i = id ; хэрэв (! validate_email (и-мэйл)) шидэх " InvalidEmailException " else e = email ; cust = (n + " " + i + " " + e ) ; буцаах (cust ); )

Нөхцөлт блокууд барихтохирох онцгой байдлын зохицуулагчийн дуудлагыг хянах.
" ) { // хүчингүй ID зохицуулагчийг дуудна bad_id_handler (e ) ) catch (e if e == " InvalidEmailException " ) ( // муу имэйл зохицуулагчийг дууддаг bad_email_handler (e ) ) catch (e )( // үл мэдэгдэх үл хамаарах зүйл бүртгэгдсэн байнабүртгэлийн алдаа (e ) )

эцэст нь блокло

Finally блок нь блокуудыг гүйцэтгэсний дараа хийгдэх мэдэгдлүүдийг агуулна хичээболон барих, гэхдээ мэдэгдлийн дараах мэдэгдлүүдийг гүйцэтгэхээс өмнө оролдоод үз... барих. Блоклох эцэст ньонцгой тохиолдол гарсан эсэхээс үл хамааран гүйцэтгэнэ. Хэрэв үл хамаарах зүйл тохиолдвол мэдэгдлүүдийг блокло эцэст ньблок байхгүй байсан ч гүйцэтгэнэ барихүл хамаарах зүйлийг зохицуулаагүй.

Та блок ашиглаж болно эцэст ньонцгой тохиолдол гарсан тохиолдолд скриптийг зөв бөглөх; жишээ нь, та скрипттэй холбоотой нөөцийг гаргах хэрэгтэй байж магадгүй. Дараах жишээнд файл нээгдэж, операторууд түүнтэй ажилладаг (сервер талын JavaScript нь файлд хандах боломжийг олгодог). Хэрэв үл хамаарах зүйл хэзээ хаясан бол нээлттэй файл, блок эцэст ньскрипт амжилтгүй болохоос өмнө файлыг хаадаг.

openMyFile(); оролдоод үзээрэй ( writeMyFile (theData ) ) эцэст нь ( closeMyFile () // нөөц үргэлж хаалттай байдаг}

Орлуулах оролдлого... catch мэдэгдлүүд

Та нэг буюу хэд хэдэн мэдэгдлийг оруулах боломжтой оролдоод үз... барихбие биедээ. Хэрэв дотоод оператор оролдоод үз... барихблок байхгүй барих, блок тохирох эсэхийг шалгана барихоператор агуулсан оролдоод үз... барих.