JavaScript-Schlüsselwort "this" und Closure Compiler-Warnungen

Ich habe Produktionscode, den ich jetzt mithilfe der erweiterten Option mit dem Closure Compiler zu minimieren versuche. Der Code verwendetPauls clientseitige Cookie-Bibliotheken. Der Compiler generiert über 30 dieser Warnungen:

JSC_USED_GLOBAL_THIS: dangerous use of the global this object

Hier sind einige Codeausschnitte aus der Paul-Bibliothek (der ursprüngliche Code verwendet benannte Funktionen, keine anonymen Funktionen):

  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

Dasuc Funktionen sind normalerweise so aufgebaut:

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

ich habe gelesenWie funktioniert dieses Schlüsselwort in einem JavaScript-Objektliteral? ebenso gut wieClosure Compiler Warnung vor gefährlicher Verwendung des globalen "this" -Objekts? undGültigkeitsbereich in JavaScript. Ich verstehe jedoch immer noch nicht, in welchem ​​Umfangthis Im obigen Code steht noch, wie ich diesen Code umschreiben würde, um die Compiler-Warnungen zu beseitigen.

Frage 1: Kann mir jemand erklären, in welchem ​​Umfangthis ist?

F2: Kann jemand einige Codefragmente bereitstellen, die zeigen, wie die obigen umgeschrieben werden können, um die Compiler - Warnungen zu beseitigen (ich nehme die Verwendung von an)?this muss beseitigt werden)?

TIA.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage