Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.01.2010, 18:44
Аватар для JSprog
L
Отправить личное сообщение для JSprog Посмотреть профиль Найти все сообщения от JSprog
 
Регистрация: 16.08.2009
Сообщений: 416

null instanceof Object
Вроде null как объект но почему тогда?
<script>
var n1=null;
var n2=Object(n1);
alert(n1 instanceof Object);//false
alert(n2 instanceof Object);//true
</script>
__________________
Лови позитив
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2010, 18:54
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

null не является объектом
http://javascript.ru/blog/Dmitry-A.-...vnyh-znacheniy
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2010, 18:55
Аватар для JSprog
L
Отправить личное сообщение для JSprog Посмотреть профиль Найти все сообщения от JSprog
 
Регистрация: 16.08.2009
Сообщений: 416

Во что превращается null после метода Object()
Ведь для него нету подобия объекта как для string, number и boolean
__________________
Лови позитив

Последний раз редактировалось JSprog, 17.01.2010 в 19:00.
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2010, 19:10
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Мне кажется ни во что, функция Object просто возвращает новый пустой объект, когда ее вызывают с аргументом null:
alert([
    typeof Object().valueOf(),
    typeof Object(null).valueOf(),
    Object().valueOf() === Object(null).valueOf(),
    null === null
]);
Ответить с цитированием
  #5 (permalink)  
Старый 17.01.2010, 19:21
Аватар для JSprog
L
Отправить личное сообщение для JSprog Посмотреть профиль Найти все сообщения от JSprog
 
Регистрация: 16.08.2009
Сообщений: 416

Ясно, спасибо вам=)
__________________
Лови позитив
Ответить с цитированием
  #6 (permalink)  
Старый 18.01.2010, 07:47
Аватар для JSprog
L
Отправить личное сообщение для JSprog Посмотреть профиль Найти все сообщения от JSprog
 
Регистрация: 16.08.2009
Сообщений: 416

Что-то я помозговал не совсем ясен смысл строки.
Object().valueOf() === Object(null).valueOf(),
__________________
Лови позитив
Ответить с цитированием
  #7 (permalink)  
Старый 18.01.2010, 08:20
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

тут привидение к примитивному типу срабатывает:
var s1 = "abc";
var s2 = new String("abc");
alert([
    s1 === s2,
    s1 === s2.valueOf()
]);

а в случае с null нет:
var n1 = null;
var n2 = new Object(null);
alert([
    n1 === n2,
    n1 === n2.valueOf()
]);

отсюда делаем вывод, что Object просто новый объект создает, не запоминая null
Ответить с цитированием
  #8 (permalink)  
Старый 18.01.2010, 08:57
Аватар для JSprog
L
Отправить личное сообщение для JSprog Посмотреть профиль Найти все сообщения от JSprog
 
Регистрация: 16.08.2009
Сообщений: 416

все ясненько)
c undefined похоже все также
__________________
Лови позитив
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что такое document.body is null xela1980 jQuery 1 26.12.2009 00:30
Удалить ряд символов перед или после курсора до определенного сивола brd Javascript под браузер 3 30.10.2009 08:20
F1 me plzz, что такое object в данном скрипте? AraGnom Общие вопросы Javascript 3 22.09.2009 12:02
object и object HTMLFormElement Paul56 Общие вопросы Javascript 2 17.07.2009 08:29
PHP, JavaScript, MySQL solomusic Серверные языки и технологии 14 18.12.2008 14:05