История изменений
Исправление user_id_68054, (текущая версия) :
Твой так называемый «global» никакого отношения к реальному глобалу не имеет
то есть — если я напишу
global.location = 'https://google.com'
то ни чего не произойдёт? :-)
например вот так:
(function (global) {
'use strict'
var f = function () {
console.log(this.a)
return function () {
//console.log(this.a) // TypeError: this is undefined
console.log(global.a)
}
}
var ob = {
a: 1,
f: f,
}
//a = 10 // ReferenceError: assignment to undeclared variable a
global.a = 10
ob.f()() // 1 10
global.location = 'https://google.com'
})(this)
даю подсказку:
global
я использовал для того чтобы в режиме 'use strict' избежать ошибки «ReferenceError» для переменной a
.
Проблема в том, что крокфорд несет чушь, а хомячьё ведется, и, как следствие — уродуют язык нелепыми синтаксическими конструкциями.
ну он может конечно и фигню сказал... :-)
(хотя от части я согласен с ним..)
но сказал он эту фигню без учёта 'use strict' --- и вот в этом оказался большой косяк. а сказал бы он тоже самое, но с учётом 'use strict', то я вообще бы с ним согласился бы! (хотя смотря что он сказал бы:))
...но ведь язык-то всё равно только улучшается (от версии к версии!).
Исправление user_id_68054, :
Твой так называемый «global» никакого отношения к реальному глобалу не имеет
то есть — если я напишу
global.location = 'https://google.com'
то ни чего не произойдёт? :-)
например вот так:
(function (global) {
'use strict'
var f = function () {
console.log(this.a)
return function () {
//console.log(this.a) // TypeError: this is undefined
console.log(global.a)
}
}
var ob = {
a: 1,
f: f,
}
//a = 10 // ReferenceError: assignment to undeclared variable a
global.a = 10
ob.f()() // 1 10
global.location = 'https://google.com'
})(this)
даю подсказку:
global
я использовал для того чтобы в режиме 'use strict' избежать ошибки «ReferenceError» для переменной a
.
Проблема в том, что крокфорд несет чушь, а хомячьё ведется, и, как следствие — уродуют язык нелепыми синтаксическими конструкциями.
ну он может конечно и фигню сказал... :-)
(хотя от части я согласен с ним..)
но сказал он эту фигню без учёта 'use strict' --- и вот в этом оказался большой косяк.
...но ведь язык-то всё равно только улучшается (от версии к версии!).
Исправление user_id_68054, :
Твой так называемый «global» никакого отношения к реальному глобалу не имеет
то есть — если я напишу
global.location = 'https://google.com'
то ни чего не произойдёт? :-)
например вот так:
(function (global) {
'use strict'
var f = function () {
console.log(this.a)
return function () {
//console.log(this.a) // TypeError: this is undefined
console.log(global.a)
}
}
var ob = {
a: 1,
f: f,
}
//a = 10 // ReferenceError: assignment to undeclared variable a
global.a = 10
ob.f()() // 1 10
global.location = 'https://google.com'
})(this)
Проблема в том, что крокфорд несет чушь, а хомячьё ведется, и, как следствие — уродуют язык нелепыми синтаксическими конструкциями.
ну он может конечно и фигню сказал... :-)
(хотя от части я согласен с ним..)
но сказал он эту фигню без учёта 'use strict' --- и вот в этом оказался большой косяк.
...но ведь язык-то всё равно только улучшается (от версии к версии!).
Исходная версия user_id_68054, :
Твой так называемый «global» никакого отношения к реальному глобалу не имеет
то есть — если я напишу
global.location = 'https://google.com'
то ни чего не произойдёт? :-)
Проблема в том, что крокфорд несет чушь, а хомячьё ведется, и, как следствие — уродуют язык нелепыми синтаксическими конструкциями.
ну он может конечно и фигню сказал... :-)
(хотя от части я согласен с ним..)
но сказал он эту фигню без учёта 'use strict' --- и вот в этом оказался большой косяк.
...но ведь язык-то всё равно только улучшается (от версии к версии!).