|
|
Yayınlandı 4.12.2017 20:23:14
|
|
|

1. Nesnenin mülkiyetine saygı gösterin Örneklere veya prototiplere nitelik eklemeyin; Örneklere veya prototiplere metod eklemeyin; Zaten var olan yöntemleri yeniden tanımlama. Bunu yapmanın en iyi yolu, sahip olmadığınız nesneleri asla değiştirmemektir. Bir nesneye sahip olmak, onu kendiniz yarattığınız anlamına gelir; örneğin kendiniz yarattığınız özel bir tür veya nesne. Diziler ve belgeler elbette sizin değil, kodunuz çalıştırılmadan önce varlar. 2. Küresel değişkenlerden kaçının En fazla küresel bir değişken oluşturun, böylece içinde diğer nesneler ve fonksiyonlar varlığını sağlar. Aşağıdaki örneklere göz atın:
//两个全局量——避免!! var name = "Nicholas"; function sayName(){ alert(isim);
} Bu kod iki küresel büyüklük içerir: değişken adı ve sayName() fonksiyonu. Aslında, aşağıdaki örnekte gösterildiği gibi, her ikisini de içeren bir nesne oluşturabilirsiniz:
//一个全局量——推荐 var MyApplication = {
name: “Nicholas”,
sayName: function(){ alert(this.name);
} }; 3. Null ile karşılaştırmaktan kaçının Değer referans tipi ise, örneğin operatörünü kullanarak yapıcını kontrol eder; Değer temel tip ise, typeof kullanılarak tipini kontrol et; Nesnenin belirli bir metod adı içermesini istiyorsanız, belirtilen isimli metotun nesnede bulunduğundan emin olmak için typeof operatörünü kullanın. (Burada web ön yüz öğrenme ve değişim grubumu öneriyorum: 675498134, ister acemi ister tanrı olun, sizi gelip öğrenmeye, iletişim kurmaya ve zaman zaman kuru ürünler paylaşmaya davet ediyorum; bunlar arasında kendim derlediğim en son ön uç materyalleri ve eğitimler de var; ayrıca ön uç bilgisini her gün canlı açıklayan teknik uzmanlar var. Yeni başlayanlar ve ileri düzey arkadaşlar birlikte öğrenmeye, iletişim kurmaya ve birlikte ilerleme kaydetmeye davetlidir. ) 4. Sabitler kullanın Javascrip{filter}t sabitlerin resmi bir kavramına sahip olmasa da, faydalıdır. Veriyi uygulama mantığından ayırma fikri, hata yaratma riski olmadan veriyi değiştirebilir. Aşağıdaki örneklere göz atın: var Sabitleri = { INVALID_VALUE_MSG: "Geçersiz değer!", INVALID_VALUE_URL: "/errors/invalid.php" }; function validate(value){ if (!value){ alert(Constants.INVALID_VALUE_MSG); locatio{filter}n.href = Constants.INVALID_VALUE_URL;
}
} 5. Küresel aramadan kaçının Muhtemelen script performansını optimize etmek için en önemli şey, küresel sorgulamalara dikkat etmek. Küresel değişkenler ve fonksiyonlar kullanmak, kapsam zincirinde arama yapıldığı için kesinlikle yerel değişkenlerden daha pahalıdır. Aşağıdaki fonksiyona göz atın: function updateUI(){ var imgs = document.getElementsByTagName("img"); için (var i=0, len=imgs.length; Ben < Len; i++){ imgs[i].title = document.title + " image " + i;
} var msg = document.getElementById("msg"); msg.innerHTML = "Güncelleme tamamlandı.";
} Fonksiyon tamamen normal görünebilir, ancak küresel belge nesnesine üç referans içerir. Sayfada birden fazla görsel varsa, for döngüsündeki belge referansı her kapsam zinciri araması yapıldığında birden fazla kez veya hatta yüzlerce kez çalıştırılır. Belge nesnesine işaret eden yerel bir değişken oluşturarak, küresel bir aramayı bir kez sınırlayarak bu fonksiyonun performansını artırabilirsiniz: function updateUI(){ var doc = belge; var imgs = doc.getElementsByTagName("img"); için (var i=0, len=imgs.length; Ben < Len; i++){ imgs[i].title = doc.title + " image " + i;
} var msg = doc.getElementById("msg"); msg.innerHTML = "Güncelleme tamamlandı."; Burada, önce belge nesnesini yerel doc değişkenine yerleştirin; Sonra orijinal belgeyi kodun geri kalanıyla değiştirin. Orijinal sürüme kıyasla, mevcut fonksiyonun sadece bir küresel arama seçeneği var ve bu kesinlikle daha hızlı. 6. Performans için diğer önlemler Yerel yöntemler daha hızlıdır - Mümkün olduğunda, Javascrip{filter}t ile kendiniz yeniden yazmak yerine yerel yöntemi kullanın. Yerel yöntem, C/C++ gibi derlenmiş bir dilde yazılır, bu yüzden Javascrip{filter}t'den çok daha hızlıdır. Javascrip{filter}t hakkında en çok unutulan şey, Matematik nesnelerde bulunan karmaşık matematiktir; Bu yöntemler, Javascrip{filter}t ile yazılmış sinüs ve kosinus gibi diğer tüm yöntemlerden çok daha hızlıdır. Switch ifadeleri daha hızlıdır - Eğer bir dizi karmaşık if-else ifadeniz varsa, onları tek bir switch ifadesine dönüştürerek daha hızlı kod elde edebilirsiniz. Ayrıca, vaka ifadesini en muhtemel olan en az olasılıktan en az olasılık haline göre düzenleyerek switch ifadesini daha da geliştirebilirsiniz. Bit operatörleri daha hızlıdır - Matematiksel işlemler yapılırken, bit işlemleri herhangi bir Boolean veya aritmetik işlemlerden daha hızlıdır. Aritmetik işlemlerin bit işlemleriyle seçici olarak değiştirilmesi, karmaşık hesaplamaların performansını büyük ölçüde artırabilir. Modül, mantık ve toplam mantık gibi mantıklar, bit işlemleriyle değiştirilebilir.
|
Puan
-
Tüm puanları gör
Önceki:SQL Server, belirtilen verileri şartlarla dışa aktarırÖnümüzdeki:Yeni başlayanlar CSS'de biraz siyah teknoloji oynuyor
|