Tabii uygulama hataları, örneğin, ben JScript standardın Microsoft uygulanmasına ilişkin olup uğraşmak zorunda olduğunuz en ciddi vardır:
FunctionExpressions tanıtıcısı sadece erişilebilir olmalıdır işlevin kendisinin iç kapsamı:
(function foo() {
alert(typeof foo); // "function"
})();
alert(typeof foo); // should be "undefined", on IE shows "function"
böcek tüm güncel IE sürümlerinde mevcut olduğu, sadece IE9 Previews'i üzerinde giderildi.
var foo = function bar() {};
if (typeof bar != 'undefined') { // the case of IE
alert(foo === bar); // false!!!
}
başka iyi bilinen JScript hata "DontEnum Bug" ise, kendi kapsamı zincirinde bir nesne enumerable olmayan bir özellik (içeriyorsa:
Ve aslında örneğin, iki fonksiyonlu nesneleri oluşturur, daha da kötü
var dontEnumBug = {toString:'foo'}.propertyIsEnumerable('toString');
o IE üzerinde false
değerlendirecek usin zaman, bu sorunlara neden: özellik diğer nesne üzerinde gölgeli ise, bu örneğin olmayan enumerable kalacak) { DontEnum }
niteliği vardır g for-in
bildirimi, çünkü özellikler ziyaret edilmeyecektir.
JScript, IE9 uygulamasının gerçekten çok daha iyi hale gelmesine karşın, en fazla sayıda soruna sahip olan uygulamadır.
Önerilen madde:
http://stackoverflow.com/questions/3663775/object-name-same-a-function-name/ buna Yanıtınız Bu soruya güzel bir ek olacaktır. En azından FunctionStatement kısmı. –
Güzel örnekler. Eğer siz (veya bir başkasının) ekartcript'i vurgulayan daha fazla makalesi varsa 3 tarayıcıdaki uygulama farklarını onlara gönderin :) – AlfaTeK