BilgisayarlarProgramlama

JavaScript: işlev işlevi. Programlama dili JS

web KAYNAKLARI oluşturmak üzere Fikirler dinamik içerik norm haline gelmiştir. Statik sayfalar ve şablonlar Web tasarım nihayet görevlerini tamamladı.

Ancak, modern web kaynak sunucusu tarafından oluşturulan sayfaların bir dizi ile temsil lazım ve tarayıcıyı (JS + AJAX) yenilemez.

ziyaretçinin varış anındaki Web tabanlı depo kaydı için başlıkların bir çift, «baş» bazı metin, «vücut» ve tüm kod birkaç satır olabilir. ideal bir sitedir, ya biri olmak isteyen - geri kalanı ziyaretçinin sürecinde "gebe".

fonksiyonların tanım ve niteliği yerleştirin

опыт, наработаный многими десятилетиями. JavaScript - bir deneyim narabotany onlarca yıl var. Bu gelişme, çağdaş nitelikli ekip yaratıcıları geliştiricilerin önemli bir geçmişi vardır. Dil kuyu güvenilir, güzel, düşünülmüş ve geliştiriciler iyi ve kendini geliştirmek için kod yazmak için gerçek bir fırsat verir.

bir algoritma kavramı buradaki görevi prensipte yok olduğunu. Tabii ki, geliştirici sayfadaki herhangi bir yere içine koymak için komut kodu eklemek için olabilir ve çalıştırılacaktır. страницы? Ama sadece bir kere yürütülür kodu anlamı şudur: yüklerken sayfası (yeniden)? Mümkün bazı ne önemsiz değişkenlerin ilk değerleri ayarlamak için mi.

Senaryo - Burası değişkenleri ve fonksiyonları doğru açıklama, yerine kendi iyiliği için yazılmış bir kod iyi parçasıdır. karşılıklı doğrudan bağlantı, ancak daha sık durum farklı - Bu işlevler kümesi belki de gerekli ve önemli olmasıdır. fonksiyonu ve uygulaması yerin Rehber açıklaması aynı şey değildir.

Fonksiyon doğrudan başka bir işlevi çağırabilir olacağı gerekli değildir, ancak dinamik kod oluşumu yoluyla dolaylı olarak yapılabilir. Bir ziyaretçi bu kodun içinde bir karar alır ve oldukça farklı sistem fonksiyonlarını çalışır.

fonksiyonel dinamikleri

Fonksiyonel dinamikleri - değil değil yalnızca sayfa öğelerine atanan bu kadar işleyicileri sayfasının unsurları oluşturan ve acil işleyicileri de değiştirebilir fonksiyonlardır.

eylem üzerinde elemanları ve ziyaretçi davranışa bağlı olarak, sayfasından gerçekleştirilir. Fare, klavye, düğmeler, tıklama, etkinlikler, öğeler ve diğer koşulların Hareketi gerekli fonksiyonların başlatılması yol açar.

Başlangıçta hiçbir tutarlılığı yoktur ve hiçbir paralel yoktur. web kaynak olaylara yeterli tepki vardır. Hızlı JavaScript belirli bir işlevi yerine getirir Nasıl faktörleri (sorun anlamına gelen mantık algoritması, konu alanı) birçok teknik (bilgisayar, iletişim hatları) ve anlamsal bağlıdır.

Aslında bir şey paralel olarak çalıştı, ama bir şey bir şeyden sonra dönecek ama bu özel anlamı olmadığını tartışılabilir. o ziyaretçinin eylemlerine yeterli yanıt oluşturmak için bir fırsattır - O JavaScript işlevi önemlidir.

Tek bir tarayıcıdan derinliklerinde dağıtılan işleme: Tasarım Bu yeni düşünce!

değişkenler ve fonksiyonlar için sözdizimi

JavaScript değişkenler etiketiyle «komut» yerleştirilir ve fonksiyonun gövdesinde edilir. Fonksiyonlar aynı şekilde tanımlanmıştır. Özel anlamı başka işlevi yoktur işlevi içinde yazmaya, ancak çeşitli nedenlerle gerekli olabilir ve oldukça makul.

Fonksiyonun açıklaması genel olarak adından, anahtar «fonksiyonu» ile başlar, virgülle ayırarak parantez içindeki argümanlar, listesi ve parantez içinde işlev gövde.

Bu örnekte, iki işlev sayfa ve sunucu arasında AJAX alışverişini sağlamak açıklanmıştır. Kısmen scXHR iki InitXML mevcuttur, çünkü ve WaitReplySC içinde, yukarıda tarif edildiği.

Fonksiyon Adı ve parametre "fonksiyonu"

JavaScript işlevi işlevi sunucusu yanıtı sonra çağrıldığında asenkron versiyonu vardır sunulmuştur. Böylece sunucusundan yanıt alma WaitReplySC, sayfa etiketi erişir alınan bilgilerin doldurur ve iyi sunucuya bir sonraki isteği başlatabilir diğer işlevleri neden olur.

Bir fonksiyonu - İşte o WaitReplySC dikkat etmek de önemlidir. scXHR.onreadystatechange = WaitReplySC она передается как параметр. Ancak hat scXHR.onreadystatechange = WaitReplySC içinde bir parametre olarak geçirilir. parametre olarak diğer fonksiyonlara Bu genel kural transfer fonksiyonu. fonksiyonu derhal yürütülür - Sivri parantez ve onlara parametresini (ler) elde edilir. Sadece, iyi yani ne ad rivayet. Çağrı işlevi ismini kaybettiğini yapacaktır.

AJAX uygulanan işlevsellik, sunucudan alınan verileri üzerinden bir JavaScript işlevi çağırmak için izin verir. Aslında, o döner ve hangi bilgilerin birlikte işlev sunucuya bir veya hiç "bilmek" olmayabilir diğer özelliği için bir istek gönderme.

Çıkan fonksiyon ve sonucu

fonksiyonun gövdesi, sen, aslında, bunun için tasarlanmıştır herhangi bir dil operatörleri, yazabilir. İç özellikler değişkenler içinde ve dışında ilan edilmiş olmasına rağmen diğer fonksiyonlar açıklanan olmayanlar söyledi.

Eğer işlev bir sonuca dönmek istiyorsanız, JavaScript dönüş deyimi kullanabilirsiniz: getiriyi. fonksiyonun gövdesi geri tablolar yeterli bir sayısı olabilir. Hepsi aynı tip sonucunu dönecektir gerekli değildir.

Tipik olarak, geliştiriciler bu fırsatı saygı ve, duruma bağlı olarak, en kısa sürede işlevinden çekilmeye karar verirler.

Bu fonksiyonların bütün algoritmasında çalıştırılan gerekli değildir, ne zaman daha önce çıkabiliriz.

fonksiyon argümanları

Argümanlar virgülle ayırarak fonksiyon listesinde, aktarılan, parantez içinde ve sadece onun adı peşinde olan. argümanlar değişken isimleri kullanılır, ancak doğrudan değer geçirebilirsiniz. Bir işlevde bir JavaScript işlevi geçmek için, sadece parantez olmadan adını belirtmeniz gerekir.

Fonksiyonun içerisinde bir length özelliğine sahiptir mevcut Değişken parametreler vardır. Sen argümanları üzerinden herhangi argüman işlevine başvurabilir [0], argümanlar [1], ... Son argümanları [arguments.length-1].

Tartışmanın fonksiyonunu değiştirme bunun dışında gerçekten işlevi içinde ama değil. fonksiyonu dışında bir şeyler değiştirmek için, operatör içinden dışarıya gerekli değeri geçmesi, JavaScript dönüşü kullanmalıdır.

fonksiyon tamamlandıktan sonra, bunun uygulanması ile ilişkili olduğunu tüm yok edilecektir. işlevin yürütülmesi sırasında iç da dahil olmak üzere diğer fonksiyonlar, tarif olanların dışında, dış değişkenleri değişebilir.

Biz argümanları belirli bir zamanda gerçekleştirilen bir işlevi çağırmak için tasarlanmıştır Aranan özellik var. neden kendisi ise fonksiyonundaki işlevin JavaScript sürümü özyinelemeye uygulayacak.

fonksiyonlarını kullanma

fonksiyonların asıl sorun - olay tarayıcısını hizmet etmek. Bu hemen hemen her etiketi yapmak için kendi üretim bir etkinlik adını ve işlevini belirtmek yeteneği vardır. Birden olayları belirtebilirsiniz, ancak her olay yalnızca bir fonksiyonu belirtilir.

Bir fonksiyon birden sayfa öğelerini ve birkaç olayları işleyebilir. «Bu» seçeneği sayesinde, denirdi bilgileri işlevini aktarabilirsiniz.

JS-fonksiyonların klasik kullanımı - elemanlarında olay işleyicileri. Bu örnekte scfWecomeGo () işlevi veya scfWelcomeCancel () ziyaretçi giriş / çıkış şeklinde adlandırılır ve çalışma modu scfMenuItemClick (bu) seçerken.

İkinci durumda, geçirilen parametre mucizevi denilen şeydir diva öğrenmek sağlayan «Bu» e. Aslında, JavaScript böylece niteliksel DOM implante edilir, ve o kadar elverişli sayfaların dinamikleri sadece öngörülemeyen olabilir gerekli bilgileri toplamak için, onun elemanlarını gezinmenizi sağlar edilir.

işlev bir dize, sayı veya başka işlevi dönmek zorunda değildir. Bu tam bir HTML elemanı dönebilir ve elemanların gerekli sayıda onların işleyicileri, onların olaylarla, hangi.

sayfada bir öğe yerleştirerek, geliştirici ziyaretçilerin ilgi problem çözme ve karşılamak açısından iyi, ama uygulama açısından oldukça zor bir yeni işlevler oluşturur.

geliştirilmesi beri böyle bir birinden veya sayfanın başka içeriğini oluşturduğu zaman anlarda, fonksiyon çağrılarında, yerel kodda kaybolması veya o olsun tam fonksiyonel kolay. Böylesi büyük bir yönü çekmeden önce, her şeyi iyi tartmak bir engel değil.

düşünme dağılımına

geliştirici tüm etkinliklerde sayfanın tüm unsurları, seviyesinde düşünüyorum ve her şey aslında nasıl gerçekleştiğine dair net bir sunum olması gerekiyor. Zor, ama iş buna değer.

JavaScript, işlev bazı etkinliğe kadar gecikebilir ve bu tür özellikler birçok olabilir ve olaylar yayıldı ve çeşitli işlemcilerin "görünürlük küre" içine almak için bir eğilim var.

Bu örnekte, işlev çağrıldı daha önce bir yerde, hangi bir öğe dosya navigasyon menüsü başlattı. O pencerede çıkarılıp işlenebilir sadece yedi dosyaları ise, sayfalama varsayılır. yedi sıranın satırda tıklayarak bir dosya ve ok tuşları ve bloklar olarak hareket ettirilebilir.

Her durumda kendi işlevi vardır. Başka bir deyişle, bu basit örnekte, çeşitli olaylara tepki vereceğini özellikleri onlarca birkaç yazmak gerekiyor ve bu işlevlerin bazı olaylar ait olmayan seçenekler ve çeşitli durumlarda işleyecektir.

Örneğin, alt çizgi çıkarırken yukarı doğru kaldırılır ve gerekmektedir. Bu gerektiren ya açıkça yeni bir sıradan seçimi ve kaynak yapmak veya satırları saymak dizisinde bir javascript işlevini kullanın ve zarif hedefini gerçekleştirmek için olacaktır.

argümanları ve fonksiyonların sonuçları

JavaScript "tam özellikli" statüsüne kodunu getirmek için izin verir. Normal olarak, ne zaman fonksiyon bağımsız değişken fonksiyonudur. İzin seçenek, fonksiyon bir işlev döndürür. JavaScript oldukça sakin bir şekilde alır.

Bu iyi bir mekanizma, ancak uygulanması ile ilgili olarak oldukça karmaşıktır. Teknik olarak müsaade semantik yalnızca nitelikli bir geliştirici tarafından "işlevsel" mantık iletimini sağlarlar.

Ne zaman bir işlevde bir JavaScript fonksiyonu - tamam, ama işlevi bir işlev oluşturur ve başka olduğunu, mantık takip etmek oldukça zor olduğu zaman. Aslında bu soruya tekniklerini uygulamak, soru güvenli ve doğru sonucu elde etmek olup olmadığı değildir.

Geliştirici bakım açık ve basittir. Bir sorun var, bir çözüm gerek, öyle değil bir hata «JavaScript hatası operasyonu güvensiz» , boş bir ekran veya tüm tarayıcı motorunu durdurun.

argüman ardından bir işlev, özel özellikleri olan bir değişken geçmek geliştirici ise, bu bir numara değil, bir dize değil, bir nesne değil. Ama böyle bir tartışma kullanımı dış değişkenleri değiştirmek ve fonksiyon uygulamanın sonucudur aslında yol açabilir. transfer yeterli olacaktır değişikliklere bağlı.

üretilen kod Yürütme

iş diğer kod sırasında oluşturulan yürütme kodunu uygulayın, bu «eval» yoluyla mümkün olmaktadır. Gereksiz fonksiyonları ile kod karmaşık hale olamaz ve JavaScript kodu önemsiz hattının oluşumunu sınırlamak ve sadece bunu yürütmek için sık sık mükemmel bir çözüm olarak kabul, ama değil.

Bu örnekte, insert çalışabilen div içine bazı bilgiler dikiş oluşur. Diva ve farklı pozisyonlarda farklı sayıda bilgi içeriği, bu durumda böyle bir karar «operasyon güvensiz javascript hata» garantili durum sağlamaz çünkü , ama sıkıca istenen etkiyi verir.

Nuance JavaScript paradigma kayması "fonksiyonunda fonksiyonu"

fırfırlar olmaksızın yapabiliyorsa, onu kullanmak daha iyidir. Tüm bu seçenekler iyi. Tabii ki, birçok durumda, sadece bir çözümdür.

özyineleme klasik bir örnek: faktöryel. Bu döngü olacak bir algoritma yazmak için yeterince zordur, ama sen zarf değerlerini itebilir, çok basittir. Çarpınım çok hızlı büyüyor.

Normal şeyler - Ancak, tekrarlama ve işlev bilinçli geri arama yapabilir başka işlevini çağırır.

Örneğin, normal bir tablo. tablo bir tablosu da olabilir. Yuvalama kısıtlanamaz. Çok fazla lüks - Her tablo için özellikleri kendi belirledi yaz.

Bu tür örnekler çoktur ve tüm bu değil çünkü programlama, gerçek ve presleme sorun olacaktır. Sorun no-fırfırlar fonksiyonları bir sistem kurmak değil gerçeğinde yatmaktadır nedeni budur, daha doğrusu onun ayıklama ve müteakip güvenilir operasyon JavaScript bakım ve Geliştirici olur.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 tr.birmiss.com. Theme powered by WordPress.