Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript: Angular 2, AngularJS
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Mustang92
4 / 4 / 1
Регистрация: 24.04.2011
Сообщений: 152
1

улучшить код

12.07.2015, 22:48. Просмотров 876. Ответов 3
Метки нет (Все метки)

добрый день.
Начал недавно изучать angularjs, попросил людей скинуть задачки, чтобы потренироваться.
Скинуть - скинули, но вот пропали со связи, а хочу понять на сколько кривой мой код)))
Каким образом можно улучшить код снизу?!
Заранее благодарю за ответы.

1. Необходимо вывести в консоль с интервалом в секунду квадрат чисел от 2 до 5, исправьте код, какая основная его ошибка?
Кликните здесь для просмотра всего текста
Javascript
1
2
3
4
5
for (var i = 0Нѕ i <= 5Нѕ i++) { 
    setTimeout(function() { 
        console.log(i * i)Нѕ 
    }, 1)Нѕ 
}


мой код:
Кликните здесь для просмотра всего текста
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
function log(){
    if(i > 5){
        clearInterval(timer)
        return
    }
 
    console.log(i*i)
    i++
}
 
var i = 2
var timer = setInterval(log, 1000)



2. Почему не обновляется этот код?

http://jsfiddle.net/kp4fv31y/

мой ответ:
Кликните здесь для просмотра всего текста
не обновляется по той причине, что в HTML коде контроллер описан ниже, чем первый вывод переменной. Если контроллер перенести в тег BODY, то все заработает.


3. Необходимо с помощью директивы ng-options вывести select с выбранными по умолчанию элементами selected=true.
Имеется массив объектов:

Кликните здесь для просмотра всего текста
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var arr = [
    {
        id: 1,
        name: 'Элемент 1',
        selected: false
    },
    {
        id: 2,
        name: 'Элемент 2',
        selected: true
    },
    {
        id: 3,
        name: 'Элемент 3',
        selected: true
    },
    {
        id: 4,
        name: 'Элемент 4',
        selected: false
    },
    {
        id: 5,
        name: 'Элемент 5',
        selected: false
    },
]


мой ответ:
Кликните здесь для просмотра всего текста
Javascript
1
2
3
4
5
6
7
8
9
<select ng-options="item.name for item in test.arr" ng-model="test.arr2" multiple="multiple"></select>
 
Где arr2 заполняется след образом
this.arr2 = []
for(var i=0; i<this.arr.length; i++){
    if(this.arr[i].selected){
        this.arr2.push(this.arr[i])
    }
}


4. Напишите директиву, которая будет связывать значение input с переменной в скоупе. Например, для <input type="text" ng-model="myVar" value="123" ng-my-directive> $scope.myVar должно задаться значение 123.

мой ответ:
Кликните здесь для просмотра всего текста
Javascript
1
2
3
4
5
6
7
8
9
10
<input type="text" ng-model="myVar" value="123" change>
<br>{{myVar}}
 
.directive('change', function(){
    return function($scope, element, attrs){
        $scope.$watch(attrs.change, function(value){
            element.text($scope[attrs.ngModel] = attrs.value)
        })
    }
})
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2015, 22:48
Ответы с готовыми решениями:

улучшить код
&lt;?php $sql=&quot;SELECT * FROM forma&quot;; // Обеспечим выполнение запроса и...

Как улучшить код?
Как улучшить? static double Power(double x, int y) { ...

Улучшить и сжать код
Ребят, плиз, гляньте - в чем можно улучшить код? Мож че лишнее есть? Дана...

Как улучшить код?
код новичка, подскажите как улучшить исправив ошибки &lt;?php...

Как улучшить код?!
Написал код к заданию: Дан целочисленный массив размера N. Если он является...

3
XRoy
862 / 712 / 305
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
13.07.2015, 20:38 2
Лучший ответ Сообщение было отмечено Mustang92 как решение

Решение

Mustang92,
1. Я так понимаю задание предпологает что бы вы разобрались с замыканинм
2. Правильно
3. Тут можно и фильтр написать, а не заводить новый массив, и зачем такое перебор если у массивов есть filter
4.
Цитата Сообщение от Mustang92 Посмотреть сообщение
$scope.myVar должно задаться значение 123
у вас этого нет, и лучше присваивать значение в отдельной строке
1
Mustang92
4 / 4 / 1
Регистрация: 24.04.2011
Сообщений: 152
13.07.2015, 22:34  [ТС] 3
Благодарю за ответ.
Вот только насчет 4 задания не понял.
Проверял вроде в браузере, и эта переменная принимала нужное значение.
0
XRoy
862 / 712 / 305
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
14.07.2015, 21:02 4
Mustang92,
Может я конечно придираюсь, но как помне надо явно присвоить ей значение
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2015, 21:02

Как улучшить код?
Я нубяра в ООП вот написал чтото хочу услышать мнение профи как улучшить код. ...

Как улучшить код?
В Main() код для вызова функции У меня есть много классов которые должны...

Как улучшить код
unit Unit1; interface uses Windows, Messages, SysUtils, Variants,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru