Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Пятничный вопрос в субботу об readOnly (https://javascript.ru/forum/misc/51135-pyatnichnyjj-vopros-v-subbotu-ob-readonly.html)

kostyanet 25.10.2014 12:01

Пятничный вопрос в субботу об readOnly
 
Потратил 15 минут в поисках косяка из-за которого условие пропускало в проверку елемент с атрибутом readonly. Атрибут есть, элемент есть, проверка есть - пролазиет. Вывел все elem.readonly - все ундефайнед. Окуенно!

Мне просто интересно - как можно догадаться что буква О - должна быть большой? На каком основании? Было бы read-only - тогда я и сразу бы допер что по правилам и все такое. С большой - работает, тру-фолс, с маленькой на ундефайнед посылают.

Еще раз просто интересно - почему она большая?

MallSerg 25.10.2014 22:52

потомучто так сложилось древний IE тому причина

Aetae 25.10.2014 23:33

Потому, что два слова. В js camelCase принят между прочим. Хотя конечно всё хуйня и исключений полно, просто надо знать(или юзать автодополнение - в 21 веке живём).

danik.js 26.10.2014 04:48

Цитата:

Сообщение от kostyanet
как можно догадаться что буква О - должна быть большой? На каком основании?

А почему она должна быть маленькой? На каком основании?

И че только к readOnly доебался? Эти свойства тебя почему не смущают?
Цитата:

"stepUp, stepDown, checkValidity, setCustomValidity, setRangeText, setSelectionRange, mozIsTextField, defaultChecked, formAction, formEnctype, formMethod, formNoValidate, formTarget, maxLength, readOnly, defaultValue, valueAsNumber, willValidate, validationMessage, selectionStart, selectionEnd, selectionDirection, useMap, textLength, itemScope, itemType, itemId, itemRef, itemProp, itemValue, tabIndex, accessKey, accessKeyLabel, contentEditable, isContentEditable, contextMenu, className, offsetParent, offsetTop, offsetLeft, offsetWidth, offsetHeight, getAttribute, getAttributeNS, setAttribute, setAttributeNS, removeAttribute, removeAttributeNS, hasAttribute, hasAttributeNS, getElementsByTagName, getElementsByTagNameNS, getElementsByClassName, mozMatchesSelector, setCapture, releaseCapture, mozRequestFullScreen, mozRequestPointerLock, getAttributeNode, setAttributeNode, removeAttributeNode, getAttributeNodeNS, setAttributeNodeNS, getClientRects, getBoundingClientRect, scrollIntoView, insertAdjacentHTML, querySelector, querySelectorAll, tagName, classList, scrollTop, scrollLeft, scrollWidth, scrollHeight, clientTop, clientLeft, clientWidth, clientHeight, scrollTopMax, scrollLeftMax, innerHTML, outerHTML, previousElementSibling, nextElementSibling, firstElementChild, lastElementChild, childElementCount, hasChildNodes, insertBefore, appendChild, replaceChild, removeChild, cloneNode, isEqualNode, compareDocumentPosition, lookupPrefix, lookupNamespaceURI, isDefaultNamespace, hasAttributes, nodeType, nodeName, baseURI, ownerDocument, parentNode, parentElement, childNodes, firstChild, lastChild, previousSibling, nextSibling, nodeValue, textContent, namespaceURI, localName,addEventListener, removeEventListener, dispatchEvent"

danik.js 26.10.2014 04:57

Цитата:

Сообщение от Aetae
исключений полно

Например какие? Кроме on{event}.

Есть свойства, которые можно было бы записать в camelCase, но выбор спорен.

Erolast 26.10.2014 07:05

Константы? Их через camel case не запишешь.

kostyanet 26.10.2014 20:18

Цитата:

Сообщение от danik.js
И че только к readOnly доебался? Эти свойства тебя почему не смущают?

Вы доебались до свойств, а я про атрибут, который пишется readonly, а читается readOnly.

В общем понял, предлагаю угадать с первого раза где должны быть горбы кемела:

allowfullscreen
async
autofocus
autoplay
checked
compact
controls
declare
default
defaultchecked
defaultmuted
defaultselected
defer
disabled
draggable
enabled
formnovalidate
hidden
indeterminate
inert
ismap
itemscope
loop
multiple
muted
nohref
noresize
noshade
novalidate
nowrap
open
pauseonexit
readonly
required
reversed
scoped
seamless
selected
sortable
spellcheck
translate
truespeed
typemustmatch
visible

по-моему это не полный, но более-менее список индикаторов (boolean attribute).

danik.js 26.10.2014 21:24

Цитата:

Сообщение от kostyanet
Мне просто интересно - как можно догадаться что буква О - должна быть большой?

Я правильно понял, что пост о том, что тебе не хватает какого-то органа для "догадывания" ?

kostyanet 26.10.2014 21:30

Это по отношениям, если с вашими органами сравнивать, то я вообще человек без органов. Догадаться впарить список скриптовой тряхомудии в качестве примера атрибутной тряхомудии я не смог бы.

Да и вообще как тут сравнивать, у вас как у Страшилы мозг из головы лезет во все стороны, просто взрыв интеллекта судя по селфи в заголовке. :)

danik.js 26.10.2014 21:38

Давай без флуда. Ты не ответил на вопрос. Я задал уточняющий вопрос, так как не совсем понял о чем твой пост.

danik.js 26.10.2014 21:46

Короче вот тебе ответ:
Потому что html придуман для блондинок. Потому он не чувствителен регистру.

JS уже для мужиков. А они уже в курсе, что неправильный код не будет работать. Потому чувствительность к регистру - это нормально.

danik.js 26.10.2014 21:57

Цитата:

Сообщение от kostyanet
В общем понял, предлагаю угадать с первого раза где должны быть горбы кемела

Горбы должны быть на границе слов.
Горбы не добавляются в составных словах типа autofocus, speellcheck, dataset, autoplay. То есть в английском это все - цельные слова. В некоторых языках их тоже горбят, но в js - нет.

kostyanet 06.11.2014 07:28

Не надо грязи, нет там никакой горбатой системы. Надо просто знать как пишется. Нет таких слов в английском как autoplay и spellcheck - Did you mean: spell check? - говорит гугля и я ему верю. Не верите? - Проверяйте по ихнему словарю - http://www.merriam-webster.com/dictionary/spellcheck

Короче для тех кто не знает - видится tabindex, читается tabIndex. Опять полчаса искал куда уходит фокус...


Часовой пояс GMT +3, время: 06:07.