ну раз так. написал такую функцию
function typeOf(o){ if (o===null || o===undefined) return o; var $; if (($=Object.prototype.toString.call(o).substr(8,1))!="O") return $; return (o=='[object]' ? 'H':$); } На выходе: null,undefined,A,O,N,S,B,H,F |
PeaceCoder,
лучше всегда возвращать строку, по аналогии со стандартным typeof http://javascript.ru/forum/project/6...html#post34742 |
Цитата:
|
Цитата:
function typeOf(arg) { return arg; } var a; if (typeOf(a) == "undefined") { alert(1); } else { alert(2); } |
А ты об этом... ну это не страшно и не так важно.
|
Цитата:
Разве что typeOf(a) == 'O' выглядит так, что не сразу догадаешься что значит O. Мне, например, такой вариант в голову пришел "О! тип a - то, что нужно" ;). И надо помнить, что правильно писать typeOf(a) == undefined, а не typeOf(a) == 'U' |
просто если делать вспомогательную функцию то делать так что бы толк от нее был максимум. в данном случае определяет правильно любой тип да еще и код сокращает... O=object A=Array, B=Boolean, N=Number,S=String,H=HTMLDom,F=Function..., а то что функция возвращает можно и в JSDoc'е написать ине будет непоняток что такое "О" =)
|
Ну я не разбирался, что там за обозначения для типов выдумали в конкретной функции, речь о этой строке:
Цитата:
Цитата:
|
Octane, код пишу для себя. а для других служит JSDoc =) Да и логичней сравнивать с undefined|null чем с "undefined"|"null" по 2 символа больше =)
|
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 00:21. |