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

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

05.05.2015, 16:45. Показов 899. Ответов 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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru