Как в комментарии zserge ,
Timber очень хорош, но если у вас уже есть существующий проект - вы можете попробовать github.com/zserge/log. Это альтернатива android.util.Log для замены и имеет большинство функций, которые есть у Timber, и даже больше.
его библиотека журналов обеспечивает простое включение / отключение переключения печати журналов, как показано ниже.
Кроме того, только требуется изменить import
строк, и ничего не нужно менять для оператора Log.d(...);
.
if (!BuildConfig.DEBUG)
Log.usePrinter(Log.ANDROID, false); // from now on Log.d etc do nothing and is likely to be optimized with JIT
IE8 имеет это через defineProperty
, но только для объектов DOM. Но, предположительно, со временем это коснется и объектов JavaScript.
Сообщение Ресига ссылается на его реализацию env.js, поскольку он впервые использует методологию геттеров и сеттеров, которые вы ищете. Причина, по которой этот стиль работает для него хорошо, заключается в том, что они не используются в среде на основе браузера, env.js ориентирован в первую очередь на серверные JS или среды сценариев, такие как Rhino.
Для обеспечения совместимости с браузером, а также фокусировки в аспекте, с которым JavaScript справляется очень хорошо, используйте замыкания для ваших методов получения и установки для защиты свойств объекта.
Например:
foo: function(val) {
var bar = val;
this.setBar: function(newBar) {
bar = newBar;
},
this.getBar: function() {
return bar;
}
}
В результате получится:
var checkFoo = foo("cool!");
alert(checkFoo.getBar()); //cool!
checkFoo.setBar("nice!");
alert(checkFoo.getBar()); //nice!