У меня есть этот псевдоним в моем .profile, который я использую довольно часто
$ alias | grep xlogs
xlogs='sudo find . \( -name "*.log" -o -name "*.trc" \) -mtime -1 | sudo xargs ls -ltr --color | less -R'
Так что он делает то, что вы ищете (за исключением того, что он не изменяет дату / время на нескольких уровнях) - выглядит для последних файлов (в данном случае * .log и * .trc); Кроме того, он находит только файлы, измененные в последний день, затем сортирует по времени и передает данные через меньшее:
sudo find . \( -name "*.log" -o -name "*.trc" \) -mtime -1 | sudo xargs ls -ltr --color | less -R
пс. Обратите внимание, что у меня нет root на некоторых серверах, но всегда есть sudo, поэтому вам может не понадобиться эта часть.
Найденное вами решение является наиболее популярным. Общепринятое соглашение - называть вашу переменную tempThis «that».
var Something = function(){
this.render = function(){};
var that = this;
$(window).resize(function(){
that.render();
});
};
Это похоже на ваш лучший вариант, я не думаю, что есть лучший способ. (поправьте меня, если я ошибаюсь).
Это именно то, что я делаю. Это также не относится к jQuery.
var Construct = function() {
var self = this; //preserve scope
this.materials = 2000;
this.build = function(){
self.materials -= 100;
};
};
Не забудьте использовать ключевое слово var перед новой переменной области видимости. В противном случае вы создаете новую глобальную переменную. Как локальная переменная, она по-прежнему будет доступна внутри внутренней функции через замыкание.
Я делал это во многих тайтовых ситуациях. Выглядит не элегантно, но никогда не подводит. На самом деле это закрытие javascript в действии.
jrh
К вашему сведению, возможность контролировать это появится в следующей версии JQuery