Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 15.03.2015
Сообщений: 25

Верно ли, что переменная - это свойство глобального объекта?

05.05.2015, 16:45. Показов 949. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я так понял что переменная это свойство глобального объекта,это так?
Вопрос такой:
Но так ведь любая переменная базового типа это объект(ну или ведет себя как объект) и получаеться вложенные объекты?Если я не прав поправьте
Заранее спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.05.2015, 16:45
Ответы с готовыми решениями:

Передать свойство объекта в свойство объекта в объекте что в массиве
var array = ; function func(a, b, c) { array = {}; array.a = {}; // вместо "a" - аргумент array.a.b = text3; // и здесь. } ...

Нужно что-то типа глобального объекта
Есть такая схема всё работает. Понадобилось сделать админку, которая по сути другое приложение использующее теже модули. Помогите...

Основное свойство многочлена тейлора? Что это за свойство?
(о значениях в в точке x0 функции и ее многочлена тейлора, а так же их производных). Так же нужно доказательство для этого свойства, но не...

10
134 / 130 / 57
Регистрация: 29.12.2011
Сообщений: 359
05.05.2015, 16:53
Я так понял что переменная это свойство глобального объекта,это так?
Нет это не так
JavaScript
1
var v = 42;
Вот я создал переменную, но она не свойство глобального объекта
Но так ведь любая переменная базового типа это объект(ну или ведет себя как объект)
Нет и нет. Примитив есть примитив, а похож на объект, потому что джаваскрипт так приводит типы, вот пример
JavaScript
1
2
3
4
5
6
7
8
9
10
11
String.prototype.returnMe= function() {
    return this;
}
 
var a = "abc";
var b = a.returnMe();  
 
a; //"abc" 
typeof a; //"string" (still a primitive)
b; //"abc"
typeof b; //"object"
В глобальных объектах и так полно вложенных объектов и можно сделать свои, но создание переменной это не обязательно помещение объекта в глобальную область.

PS. На вторую часть вопроса хорошо отвечает статья The Secret Life of Javascript Primitives
0
 Аватар для Jetlag
111 / 49 / 20
Регистрация: 21.10.2013
Сообщений: 212
05.05.2015, 16:56
Как оно на самом деле уже ответил джокер.

Но для новичка представление "в джаваскрипт все - объекты или похоже на них" близко к истине и часто помогает пониманию, меня это в свое время ошеломило)
0
134 / 130 / 57
Регистрация: 29.12.2011
Сообщений: 359
05.05.2015, 17:04
Jetlag, я с этим и не спорю вобщем-то, но раз уж человек начал интересоваться вложенностью объектов и поведением их, то лучше полный ответ дать. А то потом возникнут вопросы почему если всё объект, то undefined.length кидает эксепшн, а не возвращает undefined, как обычный объект.
1
0 / 0 / 0
Регистрация: 15.03.2015
Сообщений: 25
05.05.2015, 17:29  [ТС]
JokerNN, Разве вот это не одно и тоже?
var x=5;
x//5
window.x//5
0
134 / 130 / 57
Регистрация: 29.12.2011
Сообщений: 359
05.05.2015, 17:51
therealsava, а вот так?
JavaScript
1
2
3
4
5
6
7
function foo(){
  var x = 5;
  console.log(x); //5
  console.log(window.x); //undefined
};
foo();
console.log(window.x); //undefined
0
0 / 0 / 0
Регистрация: 15.03.2015
Сообщений: 25
05.05.2015, 18:02  [ТС]
JokerNN, Я имею ввиду переменную в глобальной области видимости
0
134 / 130 / 57
Регистрация: 29.12.2011
Сообщений: 359
05.05.2015, 18:04
therealsava,
Я имею ввиду переменную в глобальной области видимости
Сказали бы так сразу, я бы не стал отрицать, в вопросе изначально не было такого условия
0
59 / 59 / 46
Регистрация: 01.03.2015
Сообщений: 179
05.05.2015, 20:22
Цитата Сообщение от therealsava Посмотреть сообщение
Я так понял что переменная это свойство глобального объекта,это так?
В глобальной области видимости - да.
var foo = 5;
alert (window.foo); // 5
Цитата Сообщение от therealsava Посмотреть сообщение
Но так ведь любая переменная базового типа это объект(ну или ведет себя как объект) и получаеться вложенные объекты?
Нет, переменные базового типа не являются объектами.
Когда идёт обращение к свойству или методу, в памяти временно создаётся объект-обёртка для переменной базового типа, после чего(после получения значения свойства или вызова метода) объект перестаёт существовать.
Пример:
var foo = 5;
foo.prop = 25;
alert(foo.prop); // undefined

Для создания объектов(постоянных), в JavaScript есть конструкторы - Number, Boolean, String.
1
0 / 0 / 0
Регистрация: 15.03.2015
Сообщений: 25
06.05.2015, 22:30  [ТС]
SB5Ch, Тоесть если мы создаем строку через конструктор вот так:
JavaScript
1
var a=new String("Тест");
То мы создаем объект!
Но ведь свойство length не работает как в объекте
JavaScript
1
a.length=2;
Тоесть результат будет:Тест,почему?
И второй вопрос если мы создаем переменную с помощью конструктора она же будет яв-ся в объектом и нах-ся в глобальной области то есть будет вложенным объектом так?
0
59 / 59 / 46
Регистрация: 01.03.2015
Сообщений: 179
06.05.2015, 23:44
Цитата Сообщение от therealsava Посмотреть сообщение
То мы создаем объект!
Да. Для того, чтобы убедиться в том, что создаётся объект можно присвоить ему некое свойство и обратиться к нему.

var o = new String("this is object");
o.someProp = 5;
alert(o.someProp); // 5

var str = "this is string";
str.someProp = 5;
alert(str.someProp); // undefined

Можно, также, оператором typeof проверить:
typeof o; // "Object"
typeof str; // "String"

А значение свойства length можно менять только у массивов.

Цитата Сообщение от therealsava Посмотреть сообщение
И второй вопрос если мы создаем переменную с помощью конструктора она же будет яв-ся в объектом и нах-ся в глобальной области то есть будет вложенным объектом так?
Вложенным он будет всегда. Если объект создаётся в глобальной области видимости, он становится свойством глобального объектва window. А если в локальной области видимости, то свойством объекта LexicalEnvironment.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.05.2015, 23:44
Помогаю со студенческими работами здесь

Верно ли, что свойство классов не имеет параметров
Помгите плз Печатайте задания в пост, никаких картинок. Предупреждение

Свойство объекта - что я делаю не так?
uses GraphABC, ABCObjects; var block: array of RectangleABC; begin // Не буду загромождать кодом - Здесь я заполняю массив block ...

Что возвращает свойство Column объекта Range
В справке написано: Returns the number of the first column in the first area in the specified range. Я так перевёл на русский:...

ServerSocket->ServerType что это за свойство?
ServerSocket->ServerType что это за свойство? и как с ним работать?

Что это за свойство? Линейные уравнения
Здравствуйте. Такой вопрос: почему, к примеру, в таком уравнении A * x + B - 2 * A = 1 * x + 1 можно приравнять коэффициенты при...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru