LINUX.ORG.RU

История изменений

Исправление 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' --- и вот в этом оказался большой косяк.

...но ведь язык-то всё равно только улучшается (от версии к версии!).