Старый добрый Ctrl + Вкладка для зеркального отражения назад и вперед между открытыми документами.
Visual Studio на самом деле обеспечивает очень хороший Ctrl + Вкладка реализация; я особенно ценю, что Ctrl + Вкладка порядок активации документа последний раз используется, порядок, а не простой "слева направо" заказывают, так, чтобы Ctrl + Вкладка (нажатие однажды и выпуск) мог использоваться неоднократно для зеркального отражения назад и вперед между двумя последний раз используемыми документами, даже когда существует больше чем два открытые документа.
Никогда не следует расширять Object.prototype
. Это гораздо больше, чем просто нарушение jQuery; он полностью нарушает функцию Javascript «объект как хэш-таблицы». Не делайте этого.
Вы можете спросить Джона Ресига, и он скажет вам то же самое .
Я сомневаюсь, что добавление функции в Object.prototype напрямую нарушает работу jQuery. Просто убедитесь, что каждый цикл for..in на вашем сайте заключен в проверку hasOwnProperty, поскольку вы добавляете функцию глобально, и результат повторения может быть непредсказуемым:
Object.prototype.foo = function() {};
var myObject = {m1: "one", m2: "two" };
for(var i in myObject) { if(myObject.hasOwnProperty(i)) {
// Do stuff... but not to Object.prototype.foo
}}
Я согласен, добавив кое-что в Object.prototype
требует осторожности, и его следует избегать. Поищите другие решения, такие как:
Добавление его к объекту и последующий доступ к нему с помощью вызова
или apply
, если необходимо.
Например:
Object.foo = function () { return this.whatever()}
Затем вызовите это для объекта:
Object.foo.call(Objname); // this invokes the function as though it were a
// method of Objname. That is, its like Objname.foo()
Для удовольствия вы можете добавить следующее (да, я знаю, что это немного опасно ...):
Function.using = Function.call; // syntactic sugar
Теперь вы можете написать Object.foo. using (Objname )
и читается как караул.
Но, как правило, избегайте изменения каких-либо крупных прототипов.