нужно разбить функцию на подфункции. нужно подумать что делает функция, но я так и не онял что делает твоя функция. Что она делает вощвращает инекс? но ведь для этого уже есть indexOf
приведи пример нормальный и ятебе сделаю рефакторинг как надо "по хорошему" писать |
Давай лучше пример напишу другой
function getByIndex(array, index){ unless(index in array) then throw RangeError 'Ошибка чтения с массива' return array[index] } а дальше используем item = getByIndex(array, 100) и вот тут мы думаем, если наша программа предуусматривет что этовполне нормальное поведение что там МОЖЕТ И НЕ БЫТЬ ЭЛЕМЕНТА С ТАКИМ ИНДЕКСОМ, то мы перехватываем это исключение и поступаем так как система должна поступить в таком случае, если же предполагаем что элемнет с таким индексом там ДОЛЖЕН И ОБЯЗАН БЫТЬ, то мы не пишем try catch, а позвозяем ошибке если она появится всплыть и остановить всю программу. например try item = getByIndex(array, 100) catch RangeError:error then item = defaultItem бла бла бла вот тут предполагается что мы ловим ТОЛЬКО RangeError который может бросить сгенерировать эта функция, и если там внутри у неё сгенерируются ошибки другого типа, например ошибки работы с памятью "MemoryError" то мы не должны их отлавливать потому что не знаем как они отработают. |
Цитата:
Цитата:
|
Цитата:
мне правда влом тебе оьяснять но знай что тут фейловости нет, тут просто ты не разбираешься не фига, у тебя слишкомнизкий уровень) вот ты и не в состояни понять. я не хочу тратить на тебя время потму что мне не даст это ничего полезного. рзговор окончен нубик) |
Mаxmaxmаximus,
То есть, ты хочешь чтобы любая функция возвращала ошибку в случае фейла, а дефолтные данные возвращать вообще никогда не надо, правильно я понял? |
loljs, то есть ты настолько неопытынй что думаешьчто функция индексоф нужна для того чтобы проверить существует ли в массиве такой элемент, но она судя по названию, не для этого, для этого надо создать отдельную функцию:
function has(array, element){ try array.indexOf(element) catch then return false return true } |
Цитата:
я ж говорю ты слишком новичек и не в состоянии понять филасофии видео. не обижайся только. я ушел работать. п.с. так же у тебя распространенная ошибка новичков, ты не делаешь декомпозицию, а должен, в этом и суть програмирования - грамотно разбить задачу на четкие мелкие подзадачи. каждая функцяия должны делать ЧЕТКО то что написано веё названии, и ни каких обработок деволтных значений ничего такого прочего, надо будет, код использующий функцию поймает исключение и сам "дефолтное" значение поставит в блоке catch (и это я щас на твоем языке говорю не верном, нет там ни каких дефолтных значений просто ты так это называешь и я чтобы тебе понятно было так выражаюсь) |
Цитата:
function has(array, element){ return array.indexOf(element) > -1? true : false } или даже function has(array, element){ return (array.indexOf(element) > -1) || false } Но даже это не нужно, ты и так можешь возвращаемое значение к булеву привести? Что ты городишь вообще? Ты с программированием знаком хотя бы поверхностно? Какие нахер компиляторы ты собрался писать с такими мозгами? |
loljs, я гений а ты просто мыслишь приметивно и узко, разговор окончен. такие гении как я придумывают языки, а такие хомячи как вы учите их как зомби, даже не понимая идеологии и сути конструкций. разговор окончен тля. у тебя слишком нзкий урвоень и больше я на тебя время тратить не собираюсь. я великий человек а ты бездарь. если говорить коротко то ты настолько тупой что думаешь что Я тупой а не ты)
Цитата:
более того я даже не просто зазнавался и кичелся а посвятил тебя в часть своих грандиозных мыслей, но ты настолько неопытный что даже не понял того что я написал, вот он, разрыв между мной генией и тобой новичков)) как говорится не бросайте бисер перед свиньями, и как я и думал ты ничегошеньки не понял из того что я сказал. |
Цитата:
в обещм ты тупорылая тля с которй мне, гению противно даже общаться. мы тут дяди будем обсуждать язык, а ты бегай как собачка и кудахчи весели нас) чао. разговор закрыт. я максимально подробно обьяснил все, но ты тупой и не понял, что ж, я в очередной раз убедился что на тупых людей не стоит тратить время и вообще обращать какое-либо внимание. потому что вы один фиг ни чего не решаете в этом мире а все решаем мы, гении ;) как мы стедаем так и будет,а вы вечно из за своей тупости пытаетесь ставить палки в колеса. вы тупой сброд, рабы системы, быдло, батарейки матрицы) а мы 5% населения земли, интеллектуальная илита, твой приметивный муравьиный ум даже не в состоянии осознать что такое декомпозиция и что код который приводишь ты - убог и написать его может только неопытный новичек))) который не понимает СУТИ программирования и СУТИ операторов и языка. Если говорить совсем уж коротко, чтобы ТЫ быдло поняло, то мой ответ прозвучит так: Ты тупорылый новичек который кроме яваскрипта ни че не знает, и проэцирует его на все реальные и гипотетические языки. Ты мыслишь узко и в рамках того что УЖЕ ЗНАЕШЬ и не можешь придумывать нового) впрочем я уже говорил чо ты стадо и быдло и раб систему, представитель 95% населения земли) Я даже тратить время больше не буду чтобы переубеждать тебя потому что ты настолько отстал в развитии от меня, мне мне понадобится не один час видеолекций тебе запсиать чтобы ты бриблизился к моему уровню мышления ;) чего я делать не собираюсь |
Часовой пояс GMT +3, время: 18:21. |