2016-05-08 5 views
3

ich auf einer Gulp Datei arbeitete und ich JSHint nur gesetzt, ich sehe diese Option in der .jshintrc Datei:Ist etwas falsch, wenn ich in JS den "strict" -Modus verwende oder nicht?

„streng“: true

dann ging ich zu meinen Dateien habe ich diese ganz am Anfang:

'use strict'; 

angular.module('MyApp', ['ngRoute']) 
    .config(function($locationProvider, $routeProvider) {. . .}); 

und ich jetzt einen neuen Fehler bekommen

ich bin

public/app.js Zeile 1 Spalte 1 Verwenden Sie die Funktionsform "Use Strict".

so habe ich:

angular.module('MyApp', ['ngRoute']) 
    .config(function($locationProvider, $routeProvider) { 

    'use strict'; 

    return { . . . } 

}); 

und der Fehler ist es weg.

Also, was ist der Unterschied hier und was ist falsch, wenn ich nicht den strikten Modus verwende?

+0

See [Was bedeutet „use strict“ tun in JavaScript, und was ist die Argumentation dahinter?] (Http://stackoverflow.com/q/1335851/1529630) und [JSLint meldet sich plötzlich: Benutze das Funktionsformular von "use strict" (http://stackoverflow.com/q/4462478/1529630) – Oriol

Antwort

3

JSHint lässt standardmäßig 'use strict'; in einem globalen Gültigkeitsbereich nicht zu, wenn dieser Wert auf "true" gesetzt ist, weil dadurch JavaScript-Bibliotheken und Legacy-Code beeinträchtigt werden, der nicht für den strikten Modus gedacht ist.

Verwenden

streng: 'global'

wenn Sie das tun können, wollen.

oder

streng: false

wenn Sie nicht wollen, Code zu Flusen Strict-Modus erforderlich ist.


strict option reference for JSHint

+0

und was ist falsch wenn ich nicht den strikten Modus nutze? – TheUnnamed

+0

Es ist nichts falsch daran. Was meinen Sie? – jdphenix

+0

Oh, ich verstehe. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode Hier erfahren Sie, wie sich der strikte Modus verhält – jdphenix

Verwandte Themen