JavaScript “this” palavra-chave e avisos do Closure Compiler

Eu tenho código de produção que agora estou tentando minimizar com o Compilador de Fechamento usando a opção avançada. O código usaBibliotecas de cookies do lado do cliente de Paul. O compilador gera mais de 30 desses avisos:

JSC_USED_GLOBAL_THIS: dangerous use of the global this object

Aqui estão alguns trechos de código da biblioteca de Paul (código oroginal usa funções nomeadas, não funções anônimas):

  var cookieObject = function (name, expires, accessPath) {
        var i, j
        this.name = name
        this.fieldSeparator = "#"
        // this.found = false
        this['found'] = false;  // don't allow Closure-Compiler to rename
        this.expires = expires
        this.accessPath = accessPath
        this.rawValue = ""
        this.fields = new Array()
        this.fieldnames = new Array() 
        if (arguments.length > 3) { // field name(s) specified
              j = 0
              for (i = 3; i < arguments.length; i++) {
                    this.fieldnames[j] = arguments[i]    
                    j++
              }
              this.fields.length = this.fieldnames.length 
        }
        this.read = ucRead            // function assignments
        this.write = ucWrite
        this.remove = ucDelete
        this.get = ucFieldGet
        this.put = ucFieldPut
        this.namepos = ucNamePos
        this.read()
  }; // cookieObject

ouc funções são tipicamente construídas desta forma:

  var ucRead = function () {
        var search = this.name + "="
        var CookieString = document.cookie
        this.rawValue = null
        this.found = false
  }

eu liComo a palavra-chave “this” funciona dentro de um literal de objeto JavaScript? assim comoCompilador de Fechamento Aviso de uso perigoso do objeto "this" global? eEscopo em JavaScript. No entanto, ainda não entendi qual é o escopothis está no código acima nem como eu iria reescrever este código para eliminar os avisos do compilador.

Q1: alguém pode esclarecer para mim o que o escopo dethis é?

Q2: Alguém pode fornecer alguns trechos de código mostrando como o acima pode ser reescrito para eliminar os avisos do compilador (eu assumo o uso dethis tem que ser eliminado)?

TIA.

questionAnswers(1)

yourAnswerToTheQuestion