JavaScript'te operatör önceliği. JavaScript: Operatörler Arttırma ve Azaltma Operatörleri

Matematik işlemleri, herhangi bir programlama dilinin en temel ve çok yönlü işlevlerinden bazılarıdır. JavaScript'te, sayılar genellikle bir tarayıcı penceresinin boyutlandırılması, bir para işleminin son fiyatının hesaplanması veya bir site belgesindeki öğeler arasındaki mesafe gibi genel görevlerde kullanılır.

Matematikte iyi bir geliştirici olmanıza gerek yoktur, ancak JavaScript'te ne tür işlemlerin mevcut olduğunu ve bunları pratik görevleri yerine getirmek için nasıl kullanacağınızı bilmek önemlidir.

Diğer programlama dillerinden farklı olarak, JavaScript yalnızca bir sayısal veri türüne sahiptir; tam sayıları ve kayan nokta sayılarını ayırmaz.

Bu eğitim, aritmetik operatörleri, atama operatörlerini ve JavaScript sayısal verilerindeki işlem sırasını kapsayacaktır.

Aritmetik operatörler

Aritmetik operatörler, matematiksel işlemleri tanımlayan ve bir sonuç döndüren sembollerdir. Örneğin, 3 + 7 \u003d 10'da + karakteri toplama işleminin sözdizimini tanımlar.

Birçok JavaScript operatörü size temel matematikten aşinadır, ancak birkaç ek operatör de vardır.

Tüm JavaScript aritmetik operatörleri aşağıdaki tabloda gösterilmektedir.

Şebeke Sözdizimi Misal Tanım
İlave + x + y X ve y'nin toplamı
Çıkarma x - y X ve y arasındaki fark
Çarpma işlemi * x * y X ve y'nin türevi
Bölünme / x / y Özel x ve y
Modül % x% y Kalan x / y
Üs alma ** x ** y x'in y kuvvetine
Artış ++ x ++ x artı bir
Azaltma x— x eksi bir

Toplama ve çıkarma

Toplama ve çıkarma operatörleri JavaScript'te mevcuttur ve sayısal değerlerin toplamını ve farkını bulmak için kullanılabilir. JavaScript'in yerleşik bir hesap makinesi vardır ve matematik işlemleri doğrudan konsolda yapılabilir.

Artı işareti sayı eklemenize olanak tanır, örneğin:

Asal sayıları değiştirmenin yanı sıra JavaScript, değişkenlere sayı atamanıza ve bunlar üzerinde hesaplamalar yapmanıza izin verir. Örneğin, x ve y değişkenlerine sayısal değerler atayabilir ve sonucu z'ye yerleştirebilirsiniz.

// x ve y'ye değer atayın
let x \u003d 10;
let y \u003d 20;
// x ve y'yi ekleyin ve toplamı z'ye atayın
let z \u003d x + y;
console.log (z);
30

// x ve y'ye değer atayın
let x \u003d 10;
let y \u003d 20;
// x'i y'den çıkarın ve farkı z'ye atayın
let z \u003d y - x;
console.log (z);
10

// x ve y'ye değer atayın
let x \u003d -5.2;
let y \u003d 2.5;
// y'yi x'ten çıkarın ve farkı z'ye atayın
let z \u003d x - y;
console.log (z);
-7.7

JavaScript'te akılda tutulması ve bilinmesi gereken ilginç bir özellik, bir sayı ve bir dize eklemenin sonucudur. 1 + 1'in 2'ye eşit olması gerektiğini biliyoruz, ancak bu denklem beklenmedik sonuçlar verecektir.

let x \u003d 1 + "1";
console.log (x);
typeof x;
11
"dize"

Sayı eklemek yerine, JavaScript tüm ifadeyi dizelere dönüştürür ve birleştirir. İstenmeyen sonuçlara yol açabileceğinden, JavaScript'i dinamik olarak yazarken dikkatli olmak önemlidir.

JavaScript'te toplama ve çıkarma genellikle gezinme çubuğunu kaydırmak için kullanılır.

function scrollToId () (
const navHeight \u003d 60;
window.scrollTo (0, window.pageYOffset - navHeight);
}
window.addEventListener ("hashchange", scrollToId);

Bu durumda panel id'den 60 piksel kayar.

Çarpma ve bölme

JavaScript çarpma ve bölme operatörleri, sayısal değerlerin türevini ve bölümünü bulmak için kullanılır.

Yıldız işareti çarpma operatörüdür.

// x ve y'ye değer atayın
let x \u003d 20;
let y \u003d 5;
// Ürünü elde etmek için x'i y ile çarpın
let z \u003d x * y;
console.log (z);
100

Satış vergisinin getirilmesinden sonra bir ürünün fiyatını hesaplamak için çarpma kullanılabilir.

sabit fiyat \u003d 26,5; // Öğenin vergi öncesi fiyatı
const taxRate \u003d 0,082; //% 8,2 vergi oranı
// Vergi sonrası toplamı iki ondalık basamağa kadar hesapla
let totalPrice \u003d fiyat + (fiyat * vergiOranı);
totalPrice.toFixed (2);
console.log ("Toplam:", toplamFiyat);
Toplam: 28.67

Slash, bölüm operatörüdür.

// x ve y'ye değer atayın
let x \u003d 20;
let y \u003d 5;
// Bölümü elde etmek için y'yi x'e bölün
let z \u003d x / y;
console.log (z);
4

Bölme, örneğin bir testte saat sayısını veya doğru cevapların yüzdesini hesaplarken, zamanı hesaplarken özellikle yararlıdır.

Bir sayının mutlak değeri

Modül, öncekilerden daha az popüler olan başka bir aritmetik operatördür. % Sembolü ile temsil edilir. İlk sayı ikinciye bölündüğünde kalanı döndürür.

Örneğin, 9'un kalansız 3'e bölünebileceğini biliyoruz:

Sayı modülü, çift veya tek sayı tanımlamanıza olanak tanır, örneğin:

// Bir sayının çift olup olmadığını test etmek için işlevi başlatın
const isEven \u003d x \u003d\u003e (
// İkiye böldükten sonra kalan 0 ise, doğru döndür
eğer (x% 2 \u003d\u003d\u003d 0) (
doğruya dön;
}
// Sayı tekse yanlış döndür
yanlış dönüş;
}
// Numarayı test edin
isEven (12);
doğru

Bu örnekte 12, 2'ye bölünebilir, dolayısıyla bu bir çift sayıdır.

Programlamada, sayı birimi genellikle koşullu ifadelerle birlikte kullanılır.

Üs alma

Üs alma, en yeni JavaScript operatörlerinden biridir. Üs alma sözdizimi iki ardışık yıldız işaretidir (**).

Örneğin, 10 üzeri beşinci kuvvet (10 ^ 5) şu şekilde yazılır:

10 ** 5;
100000

10 ** 5 işlemi 5 kez tekrarlanan 10 * 10 ile aynı sonuca sahiptir.

10 * 10 * 10 * 10 * 10;

Bu işlemi Math.pow () yöntemini kullanarak da yazabilirsiniz.

Math.pow (10, 5);
100000

Üs alma operatörünü kullanmak, belirli bir sayının üssünü belirlemenin hızlı bir yoludur, ancak her zaman olduğu gibi, yöntem ve operatör arasında seçim yaparken tutarlı olmak ve aynı tarzda kod yazmak önemlidir.

Arttırma ve azaltma

Arttırma ve azaltma operatörleri, bir değişkenin sayısal değerini birer birer artırır veya azaltır. İki artı (++) veya iki eksi (-) ile temsil edilirler ve genellikle döngülerde kullanılırlar.

Not: Arttırma ve azaltma operatörleri yalnızca değişkenlerle kullanılabilir. Bunları asal sayılarla kullanmaya çalışmak bir hatayla sonuçlanacaktır.

7++
Yakalanmamış ReferenceError: Sonek işleminde geçersiz sol taraf ifadesi

Arttırma ve azaltma operatörleri, operatörün değişkene göre nereye yerleştirildiğine bağlı olarak önek ve sonek işlemleri olarak sınıflandırılabilir.

Ön ek artışı ++ x olarak yazılır.

// Bir değişken ayarla
let x \u003d 7;

let önek \u003d ++ x;
console.log (önek);
8

X'in değeri 1 artmıştır. Sonek artışı y ++ olarak yazılır.

// Bir değişken ayarla
let y \u003d 7;
// Önek artırma işlemini kullanın
postfix \u003d y ++;
console.log (postfix);
7

Sonek işlemi değeri artırmadı. İfade değerlendirilene kadar bu değer artmayacaktır. Bunu yapmak için işlemi iki kez çalıştırmanız gerekir:

let y \u003d 7;
y ++;
y ++;
console.log (y);
8

Bu operatörler çoğunlukla döngülerde bulunur. Bu for döngüsünde ifade, 0'dan başlayarak 10 kez çalıştırılır.

// Bir döngüyü on kez çalıştır
for (let i \u003d 0; i< 10; i++) {
console.log (i);
}
0
1
2
3
4
5
6
7
8
9

Bu örnekte döngü, artırma operatörü kullanılarak yinelenmiştir.

Basitçe ifade etmek gerekirse, x ++, x \u003d x + 1'in kısaltması ve x, x \u003d x - 1'in kısaltması olarak düşünülebilir.

Atama operatörleri

En sık kullanılan operatörlerden biri, bu eğitimde zaten görülmüş olan atama operatörüdür. Eşittir işaretiyle (\u003d) temsil edilir. \u003d Sembolü, soldaki bir değişkene sağda bir değer atamak için kullanılır.

// 27'yi yaş değişkenine atayın
let yaş \u003d 27;

Standart atama operatörüne ek olarak, JavaScript, aritmetik operatörü \u003d operatörüyle birleştiren bileşik atama operatörlerine sahiptir.

Örneğin, add deyimi orijinal değerden başlayacak ve ona yeni bir değer katacaktır.

// 27'yi yaş değişkenine atayın
let yaş \u003d 27;
yaş + \u003d 3;
console.log (yaş);
30

Temel olarak yaş + \u003d 3, yaş \u003d yaş + 3 ile aynıdır.

Tüm aritmetik operatörler, atama operatörü ile birleştirilebilir. Aşağıda, JavaScript'teki atama operatörlerinin bir referans tablosu bulunmaktadır.

Bileşik atama operatörleri genellikle artışlar ve azaltmalar gibi döngülerde kullanılır.

Operatör önceliği

Operatörler, normal matematikte olduğu gibi, öncelik sırasına göre çalıştırılır.

Örneğin, çarpma, toplamaya göre önceliklidir.

// Önce 3'ü 5 ile çarp, sonra 10 ekle
10 + 3 * 5;
25

Önce bir toplama işlemi yapmanız gerekiyorsa, bunu parantez içine alın - bu tür işlemler her zaman en yüksek önceliğe sahiptir.

// Önce 10 ve 3'ü ekleyin, sonra 5 ile çarpın
(10 + 3) * 5;
65

Aşağıda, JavaScript'teki aritmetik işleçlerin bir öncelik tablosu bulacaksınız. Arttırma ve azaltma için postfix, öneke göre önceliklidir.

Arttırma / azaltma, çarpma / bölme ve toplama / çıkarma aynı öncelik düzeyine sahiptir.

Öncelik yalnızca aritmetik operatörlere değil, aynı zamanda atama operatörlerine, mantıksal operatörlere, koşullu operatörlere vb. Verilir. Tam liste görüntülenebilir.

Etiketler:

JavaScript dili, nesne yönelimli programlama ilkelerini destekler. Çalışırken karşılaşabileceğiniz tüm nesneler üç büyük gruba ayrılabilir:

1. Yerleşik dil nesneleri. Bu nesneler, belirli veri türleriyle çalışmak veya ortak görevleri gerçekleştirmek için tasarlanmıştır (örneğin, Matematik, Dize, Tarih nesneleri vb.). Yerleşik nesneleri kullanmadan önce, genellikle bu nesnenin uygun bir örneğini oluşturmak gerekir (Math hariç).

2. Dış standart nesneler. Standart arayüz öğeleri ve tarayıcı işlevleriyle etkileşim için tasarlanmıştır. Bunlar pencere, belge ve olay gibi nesnelerdir. Tüm harici nesneler komut dosyasının herhangi bir yerinde bulunur ve somutlaştırma gerektirmez.

3. Özel nesneler. Bazı özel ihtiyaçlar için geliştirici tarafından oluşturulmuştur. Kendi nesnelerinizi yaratmak belirli beceriler ve geliştirme deneyimi gerektirir.

Herhangi bir nesne, özellikleri ve yöntemleri içerir. Bir nesne özelliği, bir nesnenin özelliklerini belirleyen bir tür nicel veya nitel parametredir. Bir nesne yöntemi, belirli bir nesnenin gerçekleştirebileceği bazı eylemleri ayarlar. Programlamadan ayrılır ve sıradan bir insanı bir nesne olarak düşünürsek, özellikleri "boy", "kilo", "göz rengi" olur ve yöntemler "yemek", "içmek", "yürümek" vb. Olur.

Adlarını ve nesne örneğini belirterek bir özelliğe veya yönteme başvurabilirsiniz:

object.property

object.method ()

Bu gösterim (nokta aracılığıyla), özelliklerini ve yöntemlerini kullanmak istediğiniz bir nesnenin bir örneğini benzersiz şekilde tanımlamanıza olanak tanır. Pratikte özellikler normal değişkenler gibi kullanılır ve yöntemler normal fonksiyonlar gibi kullanılır. Yönteme herhangi bir parametre iletmeseniz bile, yöntem adının her zaman parantez içinde bitmesi gerektiğini unutmayın. Örneğin:

// yorumlayıcı open () METODUNU çağıracak

// tercüman PROPERTY açmayı arayacak,

// bulamayacak ve bir hata vermeyecek

8. JavaScript'te özel operatörler.

?: Basit bir "eğer ... sonra ... başka" yapmanıza izin verir

İki ifadeyi değerlendirir ve ikinci ifadenin sonucunu döndürür.

delete Bir dizideki belirli bir dizindeki bir nesne özelliğini veya öğeyi silmenizi sağlar.

new Kullanıcı tanımlı nesne türünün veya yerleşik nesne türlerinden birinin örneğini oluşturmanıza olanak sağlar.

bu Geçerli nesneye başvurmak için kullanabileceğiniz bir anahtar sözcük.

typeof Değerlenmemiş işlenenin türünü gösteren bir dize döndürür.

void void operatörü, bir değer döndürmeden değerlendirilecek bir ifade tanımlar.

9. JavaScript'te Operatör Öncelikleri.

Operatör kıdemi

İşlem önceliği, işlemlerin karmaşık ifadelerde gerçekleştirildiği sıradır. Aynı seviyedeki operasyonlar eşit kıdeme sahiptir. Hesaplamalar, tüm ikili işlemler için soldan sağa, listenin en üstünde listelenen işlemlerden başlayıp, en alttaki işlemlerle biten yapılır.

En düşükten en yükseğe operatörlerin kıdemi aşağıdaki gibi olacaktır:

Atama \u003d + \u003d - \u003d * \u003d / \u003d% \u003d<<=>>=>>>=&=^=|=

Koşullu seçim? :

Mantıksal VEYA ||

Boole VE &&

Bitsel VEYA |

Bitsel özel ^

Bitsel VE &

Eşitsizlik! \u003d

Eşitlik / Eşitsizlik \u003d\u003d! \u003d

Karşılaştırma<<=>> =

Bit kaydırma<< >> >>>

Toplama / Çıkarma + -

Çarp / böl * /%

Olumsuzluk / tamamlama / tekli eksi / artış / azalma! ~ - ++ -

Çağırmak, parametreleri iletmek ().

Operatör kıdemi

İşlem önceliği, işlemlerin karmaşık ifadelerde gerçekleştirildiği sıradır. Aynı düzeydeki operasyonlar eşit kıdeme sahiptir. Hesaplamalar, tüm ikili işlemler için soldan sağa, listenin en üstünde listelenen işlemlerden başlayıp, en alttaki işlemlerle biten yapılır.

En düşükten en yükseğe, operatörlerin kıdemi aşağıdaki gibi olacaktır:

Atama \u003d + \u003d - \u003d * \u003d / \u003d% \u003d<<=>>=>>>=&=^=|=

Koşullu seçim? :

Mantıksal VEYA ||

Boole VE &&

Bitsel VEYA |

Bitsel özel ^

Bitsel VE &

Eşitsizlik! \u003d

Eşitlik / Eşitsizlik \u003d\u003d! \u003d

Karşılaştırma<<=>> =

Bit kaydırma<<>>>>>

Toplama / Çıkarma + -

Çarp / böl * /%

Olumsuzluk / tamamlama / tekli eksi / artış / azalma! ~ - ++ -

Çağırmak, parametreleri iletmek ().

JavaScript'te ayrılmış anahtar kelimeler.

JavaScript'te bir dizi ayrılmış anahtar kelime var. Bu kelimeler üç türdendir: JavaScript için ayrılmış sözcükler, gelecek için ayrılmış sözcükler ve kaçınılması gereken sözcükler. JavaScript anahtar kelimeleri

bu boşlukta yanlış yapmak

gerçek süre yeni için devam et

null typeof işlevini sil

aksi takdirde dönüş var

Gelecekte kullanım için JavaScript anahtar kelimeleri

durum hata ayıklayıcı dışa aktar süper

varsayılan genişletme anahtarını yakala

sınıf sonunda atıyor

sabit numaralandırma içe aktarma denemesi

Kullanılmaması gereken kelimeler, JavaScript dahili nesnelerinin veya işlevlerinin adlarına zaten sahip olanlardır. Bu, String veya parseInt gibi kelimeleri içerir.

İlk iki kategoriden herhangi bir anahtar sözcüğü kullanmak, programınız yüklendiğinde bir derleme zamanı hatasıyla sonuçlanacaktır. Değişkenlerinizi ve orijinal ilkellerinizi aynı programda aynı isimle kullanmaya çalışırsanız, üçüncü listeden ayrılmış sözcükleri kullanmak, yanlış davranış sorunlarına yol açabilir. Örneğin, aşağıdaki program istediğinizi yapmayacaktır:

var text \u003d new String ("Bu bir dize nesnesidir");

Bu durumda, String'in bir nesne olmadığını belirten bir hata alırsınız. Önceden var olan bir tanımlayıcı için birçok kullanım durumu o kadar net değildir.

Kodlar. Komut dosyalarının oluşturulması.

JavaScript, öncelikle Web sayfalarında etkileşimli öğeler oluşturmak için kullanılan bir komut dosyası (komut dosyası oluşturma) dilidir. Menüler oluşturmak, formları doğrulamak, görüntüleri değiştirmek veya bir Web sayfasında yapabileceğiniz her şeyi yapmak için kullanılabilir. GoogleMaps veya Google'ın GMail hizmetine bakarsanız, bugün JavaScript'in neler yapabildiğini görebilirsiniz.

JavaScript şu anda tüm büyük Web tarayıcıları (InternetExplorer, Firefox, Netscape, Safari, Opera, Camino, vb.) Tarafından desteklenen tek komut dosyası dili olduğundan, yaygın olarak kullanılmaktadır.

JavaScript kodu genellikle istemcinin Web tarayıcısı tarafından yürütülür, bu durumda buna istemci tarafı kodlama denir. Ancak JavaScript kodu, HTML belgeleri oluşturmak için bir Web sunucusunda da yürütülebilir, böylece sunucu tarafı komut dosyası oluşturulur. JavaScript genellikle istemci tarafı komut dosyasıyla sınırlı olsa da, aynı zamanda çok güçlü bir sunucu tarafı dilidir.

JavaScript kodu yazarken, aslında yalnızca bir metin düzenleyiciye ve bir Web tarayıcısına ihtiyacınız vardır. HTML ve CSS bilgisi kesinlikle olumlu bir rol oynayacaktır ve bir web sitesinde JavaScript becerilerini kullanmak istiyorsanız, bir web sitesine de ihtiyacınız olacaktır. Zaten bir web siteniz varsa, harika! Değilse, sayfalarınızı barındırmak için kullanabileceğiniz birçok ücretsiz sunucu vardır.

Metin düzenleyiciye gelince, Windows bir NotePad düzenleyiciye sahiptir. Bu JavaScript, HTML ve CSS'yi düzenlemek için yeterli olsa da, EditPlus veya başka bir gibi daha güçlü bir düzenleyici daha uygun olabilir.

Artık JavaScript'inizi oluşturmaya geçebilirsiniz!

Öncelikle, HTML sayfanıza nasıl JavaScript ekleyeceğinizi öğrenmeniz gerekir. Bunu iki yoldan biriyle yapabilirsiniz: Komut dosyası etiketlerini bir Web sayfasına yerleştirin ve JavaScript'i bu etiketlerin içine yerleştirin veya tüm JavaScript kodunu ayrı bir dosyaya yerleştirin ve bir Komut Dosyası etiketi kullanarak ona bağlantı verin.

Bu yöntemlerden herhangi biri tamamen geçerlidir, ancak farklı amaçları vardır. Yalnızca bir sayfada kullanılacak küçük bir kodunuz varsa, bunu Script etiketleri arasına yerleştirmek iyi bir çözümdür. Bununla birlikte, birden çok sayfada kullanılacak büyük bir kod parçanız varsa, muhtemelen en iyisi o JavaScript kodunu ayrı bir dosyaya koymak ve ona bağlantı oluşturmaktır. Bu, çeşitli sayfaları her ziyaret ettiğinizde bu kodu yüklemenize gerek kalmaması için yapılır. Kod bir kez yüklenir ve tarayıcı onu daha sonra kullanmak üzere kaydeder. Bu, Basamaklı Stil Sayfalarının (CSS) nasıl kullanıldığına benzer.

Aşağıda, JavaScript kodunu bağlamanın iki yolu örneği verilmiştir:

Komut dosyası oluşturma işlevleri.

JavaScript'in çeşitli yerlerinden gerektiği gibi bu işlevi çağırarak kaynak kod parçacıklarını bir işlev olarak biçimlendirebilirsiniz.

Tipik olarak, işlevler bir HTML belgesinin etiketlerle işaretlenmiş baş bölümünde tanımlanır. ve... Söylediğimiz gibi, işlev çağrılmadan önce tanımlanmalıdır. Tüm işlev tanımlarının bir HTML belgesinin baş bölümüne yerleştirilmesi, belge işlendiğinde bu işlevlerin kullanılabilir olmasını sağlar.

Fonksiyon tanımının genel görünümü aşağıda sunulmuştur:

işlev adı ([parametre 1] [, parametre 2] [..., parametre N])

fonksiyon vücut hatları

Tüm parametreler işleve değere göre aktarılır. Bu nedenle işlev, kendisine parametre olarak iletilen değişkenlerin içeriğini değiştiremez.

Return anahtar sözcüğü ile bir işlev bir değer döndürebilir.

JavaScript ifadeleri kombinasyonlar işlenenler ve operatörler.

Operasyonlar ifadelerde öncelik değerine göre sıralı olarak yürütülür (öncelik değeri ne kadar yüksekse, o kadar yüksek olur). Döndürülen sonuç her zaman işlenmekte olan verilerle aynı türde değildir. Örneğin, farklı türlerdeki işlenenler karşılaştırma işlemlerine dahil edilir, ancak döndürülen sonuç her zaman Boolean türünde olacaktır.

Şekil: 1. JavaScript'teki bir ifadenin yapısı

Operandlar Veriler JavaScript tarafından işlenir. İşlenenler hem basit veri türleri hem de karmaşık olanlar ve diğer ifadeler olabilir.

Operatörler Verilerle çeşitli işlemleri gerçekleştiren dil sembolleridir. Operatörler, noktalama işaretleri veya anahtar sözcükler kullanılarak yazılabilir.

Aşağıdaki operatör türleri, işlenenlerin sayısına bağlı olarak ayırt edilir:
birli - operasyonda bir işlenen yer alır;
ikili - işlemde iki işlenen yer alır;
üçlü - üç işlenen birleştirir.

En basit ifade şekli gerçek - kendi içinde hesaplanan bir şey, örneğin, 100 sayısı, "Hellow dünyası" dizesi. Bir değişken, kendisine atanan değeri değerlendirdiği için bir ifade de olabilir.

JavaScript'te İfadeler ve Operatörler

1. Aritmetik operatörler

Aritmetik operatörler matematiksel işlemler gerçekleştirmek için tasarlanmıştır, sayısal işlenenler (veya sayısal değerleri depolayan değişkenler) üzerinde çalışırlar ve sonuç olarak sayısal bir değer döndürürler.

İşlenenlerden biri bir dizeyse, JavaScript yorumlayıcısı bunu sayısal bir türe dönüştürmeye çalışır ve ardından karşılık gelen işlemi gerçekleştirir. Tür dönüşümü mümkün değilse, sonuç NaN (sayı değil) olacaktır.

Tablo 1. Aritmetik operatörler
Operatör / Operasyon Açıklama Öncelik
+ Toplama Sayısal işlenenler ekler. İşlenenlerden biri bir dizeyse, ifade bir dizge olarak değerlendirilir. 12
- Çıkarma İkinci işleneni birinciden çıkarır. 12
- Tekli eksi Pozitif bir sayıyı negatife çevirir ve bunun tersi de geçerlidir. 14
* Çarpma işlemi İki işlenenle çarpar. 13
/ Bölünme İlk işleneni ikinciye böler. Bölmenin sonucu, bir tamsayı veya bir kayan nokta sayısı olabilir. 13
% Modulo bölümü (bölümün kalanı) İlk işlenenin ikinciye tamsayı bölünmesinden sonra kalanı hesaplar. Hem tam sayılar hem de kayan nokta sayıları için geçerlidir. 13
var x \u003d 5, y \u003d 8, z; z \u003d x + y; // 13 z \u003d x - y; // -3 z \u003d - y; // -8 z \u003d x * y; // 40 z \u003d x / y döndürür; // 0.625 z \u003d y% x; // 3 döndürür

2. Atama operatörleri

Atama operatörleri değişkenlere değer atamak için kullanılır. Birleşik operatörler, orijinal ve sonraki değerleri tek bir değişkende saklamanıza izin verir.

var a \u003d 5; // 5 sayısal değerini a değişkenine atayın var b \u003d "hellow"; // hellow dizesini b değişkeninde saklayın var m \u003d n \u003d z \u003d 10; // m, n, z değişkenlerine sayısal bir değer atayın 10 x + \u003d 10; // x \u003d x + 10'a eşdeğer; x - \u003d 10; // x \u003d x - 10'a eşdeğer; x * \u003d 10; // x \u003d x * 10'a eşdeğer; x / \u003d 10; // x \u003d x / 10'a eşdeğer; x% \u003d 10; // x \u003d x% 10'a eşdeğer;

3. Arttırma ve eksiltme operatörleri

Operasyonlar artırma ve azaltma tek terimlidir ve işlenenin değerini bir artırır ve azaltır. İşlenen bir değişken, bir dizi öğesi, bir nesne özelliği olabilir. Çoğu zaman, bu tür işlemler bir döngüdeki bir sayacı artırmak için kullanılır.

var x \u003d y \u003d m \u003d n \u003d 5, z, s, k, l; z \u003d ++ x * 2; / * hesaplamaların bir sonucu olarak z \u003d 12, x \u003d 6, yani x'in değeri önce 1 artırılır ve ardından çarpma işlemi gerçekleştirilir * / s \u003d y ++ * 2; / * hesaplamaların bir sonucu olarak s \u003d 10, y \u003d 6, yani önce çarpma işlemi gerçekleştirilir ve ardından 1 artırılan değer y değişkeninde * / k \u003d --m * 2 depolanır; // k \u003d 8, m \u003d 4 l \u003d n-- * 2 değerini döndürür; // l \u003d 10, n \u003d 4 değerini döndürür

4. Karşılaştırma operatörleri

Karşılaştırma Operatörleri işlenenleri eşleştirmek için kullanılırsa, ifade iki değerden biriyle sonuçlanabilir - doğru veya yanlış. İşlenenler yalnızca sayılar değil, aynı zamanda dizeler, booleler ve nesneler de olabilir. Bununla birlikte, karşılaştırma yalnızca sayılar ve dizeler için yapılabilir, bu nedenle sayılar veya dizeler olmayan işlenenler dönüştürülür.

Her iki işlenen de başarıyla sayılara veya dizelere dönüştürülemezse, operatörler her zaman yanlış döndürür.

Her iki işlenen de dizeler / sayılarsa veya dizelere / sayılara dönüştürülebilirse, dizeler / sayılar olarak karşılaştırılırlar.

Bir işlenen bir dizge ise / bir dizgeye ve diğeri bir sayıya dönüştürülmüşse / bir sayıya dönüştürülmüşse, operatör dizeyi bir sayıya dönüştürmeye ve bir sayı karşılaştırması yapmaya çalışacaktır. Dize bir sayı değilse, NaN'ye dönüştürülür ve karşılaştırma yanlıştır.

Karşılaştırma işlemleri çoğunlukla programlarda şubeler düzenlenirken kullanılır.

Tablo 4. Karşılaştırma operatörleri
Operatör / Operasyon Açıklama Öncelik
\u003d\u003d Eşitlik Tür dönüşümüne izin veren iki değer arasında bir eşleşme testi. İşlenenler aynıysa doğru, farklılarsa yanlış döndürür. 9
! \u003d Eşitsizlik İşlenenler eşit değilse doğru döndürür 9
\u003d\u003d\u003d Kimlik Bir katı eşleşme tanımı kullanarak iki işlenen "kimlik" için test eder. Tür dönüştürmesi olmadan işlenenler eşitse doğru döndürür. 9
! \u003d\u003d Kimliksiz Kimlik doğrulaması gerçekleştirir. Tür dönüştürmesi olmadan işlenenler eşit değilse doğru döndürür. 9
\u003e Daha fazla İlk işlenen ikinciden büyükse doğru, aksi takdirde yanlış döndürür. 10
\u003e \u003d Büyük veya eşit İlk işlenen en az ikinci ise true, aksi takdirde false döndürür. 10
İlk işlenen saniyeden küçükse doğru, aksi takdirde yanlış döndürür. 10
İlk işlenen ikinciden büyük değilse doğru, aksi takdirde yanlış döndürür. 10
5 \u003d\u003d "5"; // true 5 döndürür! \u003d -5.0; // doğru 5 döndürür \u003d\u003d\u003d "5"; // false false \u003d\u003d\u003d false döndürür; // true 1 döndürür! \u003d\u003d true; // true 1 döndürür! \u003d true; // true, 1 3\u003e -3'e dönüştüğü için false döndürür; // true 3\u003e \u003d "4" döndürür; // yanlış döndürür

5. Mantıksal operatörler

Mantıksal operatörler boole döndüren koşulları birleştirmenize izin verir. Çoğu zaman bir if ifadesinde kullanılır.

(2 < 3) && (3===3); // вернет true, так как выражения в обеих скобках дают true (x < 10 && x > 0); // x 0 ile 10 arasındaysa doğru döndürür! false; // doğru dönecek

6. Bitsel operatörler

Bitsel operatörler işlenenleri 32 bitlik sıfırlar ve birler dizisi olarak ele alır ve işlemin sonucunu temsil eden, ondalık gösterimle yazılmış sayısal bir değer döndürür. Tamsayılar işlenenler olarak kabul edilir, işlenenin kesirli kısmı atılır. Bitsel işlemler, örneğin verileri şifrelerken, bayraklarla çalışmak ve erişim haklarını ayırt etmek için kullanılabilir.

Tablo 6. Bitsel operatörler
Operatör / Operasyon Açıklama Öncelik
& Bitsel VE Her iki bit 1 ise, ortaya çıkan bit 1 olacaktır. Aksi takdirde sonuç 0 olur. 8
| Bit tabanlı VEYA İşlenenlerden biri pozisyonda 1 içeriyorsa, sonuç o pozisyonda da 1 içerecektir, aksi takdirde bu pozisyondaki sonuç 0 olacaktır. 6
^ Münhasır VEYA Bir ve yalnızca bir değer, herhangi bir konumda 1 içeriyorsa, sonuç bu konumda 1'i içerecektir, aksi takdirde bu konumdaki sonuç 0 olacaktır. 7
~ İnkar İfade değerinin ikili gösterimi üzerinde bit düzeyinde olumsuzlama işlemi gerçekleştirilir. Orijinal ifadede 1 içeren herhangi bir konum 0 ile değiştirilir. Orijinal ifadede 0 içeren herhangi bir konum 0 olur. Pozitif sayılar 0'dan başlar, negatif sayılar -1'den başlar, bu nedenle ~ n \u003d\u003d - (n + 1). 14
Operatör, birinci işlenenin bitlerini ikinci işlenen tarafından ayarlanan bit pozisyonlarının sayısı kadar sola kaydırır. Sağdaki konumları doldurmak için sıfırlar kullanılır. Sol işlenenle aynı türden bir sonuç döndürür. 11
\u003e\u003e Bitsel sağa kaydırma Operatör, birinci işlenenin bitlerini ikinci işlenen tarafından ayarlanan bit konumlarının sayısı kadar sağa kaydırır. Aralık dışına çıkarılan rakamlar silinir. Sonucun işaretini korumak için en önemli bit (32nci) değiştirilmez. İlk işlenen pozitifse, sonucun en önemli bitleri sıfırlarla doldurulur; ilk işlenen negatifse, sonucun en önemli bitleri birlerle doldurulur. Bir değeri sağa bir konuma kaydırmak 2'ye bölmeye (kalanı atmaya) eşdeğerdir ve sağa iki konuma geçmek 4'e bölmeye eşdeğerdir ve bu böyle devam eder. 11
\u003e\u003e\u003e Bitsel işaret-yok sayılır sağa kaydırma Operatör, birinci işlenenin bitlerini ikinci işlenen tarafından ayarlanan bit konumlarının sayısı kadar sağa kaydırır. İlk işlenenin işaretine bakılmaksızın sola sıfırlar eklenir. Aralık dışına çıkarılan rakamlar silinir. 11
var x \u003d 9, y \u003d 5, z \u003d 2, s \u003d -5, sonuç; // 9, 1001'e eşdeğerdir, 5, 0101'e eşdeğerdir sonuç \u003d x & y; // 1 döndürür (0001'e eşdeğer) sonuç \u003d x | y; // 13 döndürür (1101'e eşdeğer) sonuç \u003d x ^ y; // 12 döndürür (1100'e eşdeğer) sonuç \u003d ~ y; // -6 döndürür (1100'e eşdeğer) sonuç \u003d x<< y; // вернет 288 (эквивалентно 100100000) result = x >\u003e z; // 2 döndürür (10'a eşittir) sonuç \u003d s \u003e\u003e\u003e z; // 1073741822 döndürür (111111111111111111111111111110 ile eşdeğerdir)

7. Dize operatörleri

Dizelerle özel bir şekilde çalışan birkaç operatör vardır.

"1" + "10"; // "110" "1" + 10 döndürür; // "110" 2 + 5 + "renkli kalemler" döndürür; // "7 renkli kalemler" "Renkli kalemler" + 2 + 5 döndürür; // "Renkli kalemler 25" "1"\u003e "10" döndürür; // yanlış "10" döndürür<= 10; // вернет true "СССР" == "ссср"; // вернет false x = "micro"; x+= "soft"; // вернет "microsoft"

8. Özel operatörler

Tablo 8. Özel operatörler
Operatör / Operasyon Açıklama Öncelik
... Bir mülke erişim Bir nesnenin bir özelliğine erişin. 15
, Çoklu hesaplama Tek bir satırda birden çok bağımsız ifadeyi değerlendirir. 1
Dizi indeksleme Bir dizinin öğelerine veya bir nesnenin özelliklerine erişin. 15
() İşlev çağrısı, gruplama İşlemleri gruplandırır veya bir işlevi çağırır. 15
typeof Veri türü tanımı Tekli operatör, işlenenin veri türünü döndürür. 14
instanceof Nesne türü denetimi Operatör, bir nesnenin belirli bir sınıfın örneği olup olmadığını kontrol eder. Sol işlenen bir nesne olmalı, sağ işlenen nesne sınıfının adını içermelidir. Solda belirtilen nesne, sağda belirtilen sınıfın bir örneğiyse sonuç doğru olacaktır; aksi takdirde, yanlış. 10
Bir mülkün var olup olmadığını kontrol etme Sol işlenen bir dize olmalı ve sağ bir dizi veya nesne olmalıdır. Sol değer bir nesnenin özelliğiyse, sonuç doğru olacaktır. 10
yeni Nesne oluşturma Operatör, tanımlanmamış özelliklere sahip yeni bir nesne oluşturur, ardından onu başlatmak için yapıcı işlevini çağırır (parametreleri geçirir). Bir dizi oluşturmak için de kullanılabilir. 1
sil Sil Operatör, bir nesneden bir özelliği veya bir diziden bir öğeyi kaldırmanıza izin verir. Silme başarılı olursa doğru, aksi takdirde yanlış döndürür. Bir dizi elemanının kaldırılması uzunluğunu değiştirmez. 14
void Dönüş değeri olmayan bir ifade tanımlama Tekli operatör, işlenenin değerini atar ve yetersiz tanımlanmış olarak döndürür. 14
?: Koşullu ifade işlemi Üçlü operatör, basit dallanma düzenlemenizi sağlar. İfadede yer alan üç işlenen vardır, ilki bir Boole değeri olmalı veya ona dönüştürülmeli ve ikinci ve üçüncü herhangi bir değer olmalıdır. İlk işlenen doğruysa, koşullu ifade ikinci işlenenin değerini alacaktır; yanlış ise - sonra üçüncü. 3
document.write ("merhaba dünya"); // hello world i \u003d 0, j \u003d 1 dizesini görüntüler; // değerleri değişkenlerde saklar function1 (10, 5); // 10 ve 5 parametreleriyle işlev1 işlevini çağırın var year \u003d; // typeof (a: 1) öğelerini içeren bir dizi oluşturur; // "nesne" döndürür var d \u003d new Date (); // Date () yapıcısını kullanarak yeni bir nesne oluşturun d Date örneği; // true döndürür var mycar \u003d (make: "Honda", model: "Accord", year: 2005); mycar'da "make"; // true döndürür var obj \u003d new Object (); // boş bir nesne oluşturur var food \u003d ["süt", "ekmek", "et", "zeytinyağı", "peynir"]; yiyecekleri sil; // dördüncü öğeyi x\u003e 10 yiyecekten kaldırır? x * 2: x / 2; // x\u003e 10 ise x * 2 değerini döndürür, aksi takdirde x / 2

9. JavaScript yorumları

Tek satır açıklama: yorum metninin başına // karakter koyun.

Operatör, bir veya daha fazla değeri içeren bir tür hesaplama yapan bir karakter (ler) veya anahtar kelimedir. Operatörün solundaki ve sağındaki değerlere işlenenler denir. Bir işlenene sahip bir işleç, tekli, iki - ikili ve üç - üçlü ile adlandırılır.

Operatörler, işlenen türlerini gerektiği gibi otomatik olarak dönüştürebilir. Örneğin, çarpma operatörü * sayıları bekler, bu nedenle yorumlayıcı dizeleri örtük olarak sayılara çevireceği için "2" * "3" ifadesi tamamen geçerli kabul edilir.

Operatör önceliği

Operatör önceliği bir operatörün, değerlendirme sırasının açık bir belirtisi olmadan, birkaç farklı operatörün bulunduğu bir ifadede yürütme sırasını etkileyen bir operatör özelliğidir. Daha yüksek öncelikli ifadeler, daha düşük öncelikli ifadelerden önce çalışır.

Operatör sütununda, üç nokta, operandların operandlara göre konumunu gösterir.

Sütun A, operatörün ilişkilendirilebilirliğini gösterir. İlişkisellik aynı önceliğe sahip işleçlerin işlendiği sıradır. Örneğin, çıkarma operatörünün soldan sağa ilişkilendirilebilirliği vardır, bu nedenle aşağıdaki iki ifade eşdeğerdir:

X - y - z (x - y) - z

Atama operatörü sağdan sola ilişkilidir, bu nedenle aşağıdaki iki ifade eşdeğerdir:

W \u003d x \u003d y \u003d z w \u003d (x \u003d (y \u003d z))

Sütun O, işlenenlerin sayısını gösterir.

Değer Türleri sütununda, beklenen işlenen türleri oktan önce ve dönüş türü oktan sonra gösterilir.

lval (sol değerin kısaltması), sol taraftaki bir ifadedir. Bir atama operatörünün solunda görünebilecek bir ifade için tarihsel bir terimdir. Sol taraftaki ifadeler şunlardır: değişkenler, nesne özellikleri ve dizi öğeleri.

Aşağıdaki tablo, operatörleri azalan öncelik sırasına göre listeliyor ve farklı öncelik seviyelerine sahip operatör gruplarını yatay çizgilerle ayırıyor.

Şebeke Operatör tipi VE HAKKINDA Değer türleri
(…) Gruplama yok
1 herhangi → herhangi
… . …
… […]
yeni ... ()
Erişim operatörü
Erişim operatörü
yeni (bir argüman listesiyle)
soldan sağa
soldan sağa
yok
2
2
1
lval, lval -\u003e herhangi
lval, dize veya sayı -\u003e herhangi
yapıcı -\u003e nesne
… ()
yeni ...
İşlev çağrısı
yeni (argüman yok)
soldan sağa
sağdan sola doğru
1
1
function -\u003e herhangi
yapıcı -\u003e nesne
… ++
… --
Sonek artışı
Sonek azaltma
yok
yok
1
1
lval -\u003e sayı
lval -\u003e sayı
! …
~ …
+ …
- …
++ …
-- …
sil ...
bir çeşit ...
geçersiz ...
Mantıksal DEĞİL (ters çevirme)
Bitsel DEĞİL (ters çevirme)
Birli artı
Tekli eksi
Önek artışı
Ön ek azaltma
Siliniyor
Veri türünü tanımlar
Tanımsız bir değer döndürmek
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
1
1
1
1
1
1
1
1
1
herhangi -\u003e boole
bütün → bütün
sayı -\u003e sayı
sayı -\u003e sayı
lval -\u003e sayı
lval -\u003e sayı
lval -\u003e boole
herhangi -\u003e dize
herhangi -\u003e tanımsız
… ** …
… * …
… / …
… % …
Üs alma
Çarpma işlemi
Bölünme
Kalanla bölme
sağdan sola doğru
soldan sağa
soldan sağa
soldan sağa
2
2
2
2
sayı, sayı -\u003e sayı
sayı, sayı -\u003e sayı
sayı, sayı -\u003e sayı
sayı, sayı -\u003e sayı
… + …
… - …
… + …
İlave
Çıkarma
Birleştirme
soldan sağa
soldan sağa
soldan sağa
2
2
2
sayı, sayı -\u003e sayı
sayı, sayı -\u003e sayı
dize, dize -\u003e dize
… << …
… >> …
… >>> …
Vuruşları Sola Kaydır
İşaret korumasıyla bitleri sağa kaydır
Bitleri sıfır dolgu ile sağa kaydır
soldan sağa
soldan sağa
soldan sağa
2
2
2
bütün, bütün → bütün
bütün, bütün → bütün
bütün, bütün → bütün
… < …
… <= …
… > …
… >= …
... içinde ...
... örneği ...
Daha az
Daha az veya eşit
Daha fazla
Daha fazla veya eşit
Bir mülkün varlığının kontrol edilmesi
Bu türe ait olup olmadığı kontrol ediliyor
soldan sağa
soldan sağa
soldan sağa
soldan sağa
soldan sağa
soldan sağa
2
2
2
2
2
2
sayı, sayı -\u003e boole
sayı, sayı -\u003e boole
sayı, sayı -\u003e boole
sayı, sayı -\u003e boole
dize, nesne -\u003e boole
nesne, yapıcı -\u003e boole
… == …
… != …
… === …
… !== …
Eşit
Eşit değil
Kesinlikle eşit
Kesinlikle eşit değil
soldan sağa
soldan sağa
soldan sağa
soldan sağa
2
2
2
2
herhangi, herhangi -\u003e boole
herhangi, herhangi -\u003e boole
herhangi, herhangi -\u003e boole
herhangi, herhangi -\u003e boole
… & … Bitsel AND soldan sağa 2 bütün, bütün → bütün
… ^ … Bitsel ÖZEL VEYA soldan sağa 2 bütün, bütün → bütün
… | … Atama işlemi
Atama işlemi
Atama işlemi
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
sağdan sola doğru
2
2
2
2
2
2
2
2
2
2
2
2
2
lval, herhangi -\u003e herhangi
lval, herhangi -\u003e herhangi
lval, herhangi -\u003e herhangi
lval, herhangi -\u003e herhangi
lval, herhangi -\u003e herhangi
lval, herhangi -\u003e herhangi
lval, herhangi -\u003e herhangi
lval, herhangi -\u003e herhangi
lval, herhangi -\u003e herhangi
lval, herhangi -\u003e herhangi
lval, herhangi -\u003e herhangi
lval, herhangi -\u003e herhangi
lval, herhangi -\u003e herhangi
yol ver ...
Yol ver * ...
yol ver
Yol ver *
sağdan sola doğru
sağdan sola doğru
1
1
... … Genişleme yok 1
… , … Virgül soldan sağa 2 herhangi biri, herhangi → herhangi