В коде jQuery наткнулся на красивый способ получения «честного» undefined:
(function(undefined) {
// тут мы имеем настоящий undefined
})();
Напомню, что глобальный undefined
можно легко переопределить:
window.undefined = 'some_value';
Вышеприведенный же способ позволяет иметь в своем коде настоящий, «защищенный» undefined
, неподверженный переопределению извне.
Кроме этого, добавляются «бесплатные» бонусы:
undefined
становится локальным внутри кода, обращение к нему будет быстрее, чем к глобальномуundefined
- внутри такого кода
undefined
будет пожат обфускаторами кода, в отличие от глобального
По-моему, очень изящно.
4 комментария:
На net tuts'ах выкладывали скринкаст 10 Things I Learned from the jQuery Source
там автор рассказывает про несколько прикольных "фенечек" которые можно откопать в исходниках jquery, в том числе и про underfined. Вдруг пригодится :)
Ща модно вот так писать:
(function(window,document,undefined){ ... })(this,this.document);
:)
http://github.com/jashkenas/coffee-script/commit/6555d863284d828d83e57b0258368ff6c3f6c019#src/nodes.coffee-P5
там есть хороший камень про мутабельность undefined
Добрый день!
Необыкновенно интересный сайт.
Масса приколов...Гашишь, МДМА, План, Гердос, и т.д.
Заходи на сайт:
[b]
http://hydraruzxpnew4af-onion.yzuqigob.tk
[/b]
Отправить комментарий