Я уже зарекомендовал себя на Java-разработчике, и мне нравится, как Java использует типы, подписи, методы и т. Д. Это делает все понятным, простым в использовании и логичным.Как разработчик Java может понять код Javascript
Теперь я пытаюсь разработать что-то в Javascript. Я пытаюсь изучить Angular JS. Однако мне очень сложно понять, как этот код разработан.
Посмотрите на код at this tutorial о ng-repeat
. Я отправлю выборку кода;
app.directive('lkRepeat', function(){
return {
transclude : 'element',
compile : function(element, attr, linker){
return function($scope, $element, $attr){
var myLoop = $attr.lkRepeat,
match = myLoop.match(/^\s*(.+)\s+in\s+(.*?)\s*(\s+track\s+by\s+(.+)\s*)?$/),
indexString = match[1],
collectionString = match[2],
parent = $element.parent(),
elements = [];
// $watchCollection is called everytime the collection is modified
$scope.$watchCollection(collectionString, function(collection){
var i, block, childScope;
// check if elements have already been rendered
if(elements.length > 0){
// if so remove them from DOM, and destroy their scope
for (i = 0; i < elements.length; i++) {
elements[i].el.remove();
elements[i].scope.$destroy();
};
elements = [];
}
Мой вопрос: Как вы можете читать такой код? Когда вызываются функции, где находятся подписи метода? Кроме того, при возврате значения function
с такими параметрами, как $scope
, $element
, $attr
, являются ли они только владельцами мест для переменных, которые будут переданы? Если да, то почему у них такие забавные имена, почему бы не сбросить знак доллара?
Вы не должны погружаться в углы, прежде чем понимать, как работает javascript - документация углов и рабочий процесс предполагают хорошую ручку на языке. – Sacho
'Мой вопрос: как вы можете читать такой код?' Не подходит для сети stackoverflow, возможно, для проверки кода –
@KostiaMololkin - Обзор кода для вопросов природы «Я написал этот код. Может быть, это лучше?». Это определенно не для этого типа вопроса. – Quentin