&Quot;sıkı" kullanın; JavaScript, ne olur ve bunun arkasındaki mantık nedir?
Son zamanlarda, JSLint ve aşağıdaki hatayı verdi Crockford ile JavaScript kodu biraz araştırdım:
Satır 1 karakter sorunu 1: Eksik "sıkı" deyimi kullanın.
Bazı arama yaparken, bazı insanlar JavaScript kodlarına "use strict";
Ekle fark ettim. Deyim ekledim sonra hata hatası ile geldi. Ne yazık ki, Google bu string ifadenin arkasına geçmiş pek belli etmedi. Kesinlikle bir şeyler JavaScript tarayıcı tarafından nasıl yorumlanacağını ile bir ilgisi olmalı, ama etkisi ne kadar olur hiçbir fikrim yok.
Ne hakkında "use strict";
, Ne ima, ve hala ilgili mi?
Güncel tarayıcılar herhangi bir "use strict";
dize yanıt ya da ileride kullanmak için mi?
CEVAP
Javascript Katı Mod ilginizi çekeceğini ilgili bu madde: John Resig - ECMAScript 5 Strict Mode, JSON, and More
Bazı ilginç bölümden bir alıntı:
Sıkı Modu bir program, ya da bir işlevi yerine sağlayan ECMA 5'te yeni bir özellik, "" çalışma kapsamında sıkı bir yer. Bu sıkı kapsamında alınan belirli eylemleri engeller ve daha özel durumlar atar.
Ve:
Katı mod bir kaç yolu: dışarı yardımcı olur
- Bazı ortak kodlama hataları, özel durumlar yaratmak yakalar.
- Engeller, ya da hataları ne zaman atar nispeten "güvenli olmayan" eylemler (genel nesne için erişim sağlamasını gibi) alınır.
- Ya da iyi düşünülmüş kafa karıştırıcı özellikleri devre dışı bırakır.
"Belirli bir işlevi için dosyanın tamamı için... Ya da sadece siz kullanabilirsiniz . sıkı modu uygulayabilirsiniz unutmayın ^em>(hala John Resig bu makaleden alıntı):
// Non-strict code...
(function(){
"use strict";
// Define your library strictly...
})();
// Non-strict code...
Eğer eski ve yeni kodu karışımı varsa yardımcı olabilir ;-)
Yani, Perl kullanabilirsiniz "use strict"
gibi bir şey sanırım(bu nedenle adı?): kırılma yol açabilecek bir şey daha tespit ederek daha az hata yapmak yardımcı olur.
Şu anda, supported by all major browsers(bar IE 9 ve altında).
Nedir &;*" JavaScript " fonksiyon...
&; En iyi" JavaScript global bir ...
&Quot anlamı nedir;$" javascript ...
Ekleme " nedir;?ve link ve script ...
&Quot;FOO var = | | FOO nedir {}&; Jav...