Kaip aiškinama „Node.js“ sąvoka „naudoti griežtą“?

Pradėjau mokytis „Node.js“ ir parašiau daug demo žiniatinklio programų, kad suprasti „Node.js“ srautą, „Express.js“, „Jade“ ir kt.

Tačiau vienas dalykas, su kuriuo susidūriau neseniai, yra "use strict" teiginį kaip pirmąją eilutę kiekvienoje funkcijoje ir kiekvieną .js failą.

Kaip tiksliai tai aiškina Node.js?

109
24 авг. nustatė user2713270 24 rug . 2013-08-24 13:09 '13, 13:09, 2013-08-24 13:09
ответ 1 atsakymas

"use strict";

Iš esmės tai suteikia griežtą režimą.

Griežtas režimas yra funkcija, leidžianti programai ar funkcijai įdėti į „griežtą“ darbo aplinką. Griežto darbo kontekste metodo forma susieja jį su objektais, kaip ir anksčiau. Funkcijos forma susieja tai su neapibrėžtais, o ne visuotinai nurodytais objektais.

Pasak jūsų pastabų, jūs sakote, kad yra tam tikrų skirtumų. Bet tai yra tavo spėjimas. „Node.js“ kodas yra tik „JavaScript“ kodas. Visą „Node.js“ kodą interpretuoja „JavaScript“ V8 variklis . „V8 JavaScript“ variklis yra atviro kodo „JavaScript“ variklis, sukurtas „Google“ naršyklėje „Chrome“.

Taigi, nebus reikšmingo skirtumo, pvz., "use strict"; aiškina „Chrome“ ir „Node.js.

Prašome perskaityti, koks griežtas režimas yra „JavaScript“.

Daugiau informacijos:

<h / "> ECMAScript 6:

ECMAScript 6 Kodas ir griežtas režimas. Toliau pateikiamas trumpas specifikacijos aprašymas:

10.2.1 Styginių režimo kodas

Sintaksės bloką „ECMAScript Script“ galima apdoroti naudojant neribotos arba griežtos režimo sintaksę ir semantiką. Kodas aiškinamas kaip griežto režimo kodas šiais atvejais:

  • Bendrasis kodas yra griežtas režimo kodas, jei jis prasideda Prologo direktyva, kurioje yra „Naudoti griežtą“ direktyvą (žr. 14.1.1 skirsnį).
  • Modulio kodas visada yra griežtas režimas.
  • Visos ClassDeclaration arba ClassExpression dalys yra griežti režimo kodai.
  • Eval kodas yra griežtas režimo kodas, jei jis prasideda direktyvos prologu, kuriame yra „Naudoti griežtą“ direktyvą, arba jei evalinis skambutis yra tiesioginis eval (žr. 12.3.4.1), esančiame griežto režimo kode.
  • Funkcijos kodas yra griežtas režimo kodas, jei susijęs funkcijų deklaravimas, funkcijų išraiška, generatoriaus deklaracija, generatoriaus išraiška, metodų apibrėžimas arba rodyklės funkcija yra įtrauktas į griežto režimo kodą, arba jei kodas, generuojantis [[ECMAScriptCode]] vidinio žodyno vertę, prasideda direktyvos prologu, kuriame yra direktyva Naudokite griežtą.
  • Funkcinis kodas, kuris pateikiamas kaip argumentai įmontuotiems funkcijų ir generatorių konstruktoriams, yra griežtas režimo kodas, jei paskutinis argumentas yra eilutė, kuri apdorojant yra funkcijų kūnas, kuris prasideda direktyvos prologu, kuriame yra Naudojimo griežta direktyva.

Be to, jei praradote, kurias funkcijas palaiko dabartinė „Node.js“ versija, šis „ node.green“ gali jums padėti (naudojant tuos pačius duomenis kaip kangax ).

130
24 авг. atsakymas duotas Amol M Kulkarni 24 rug. 2013-08-24 13:30 '13, 13:30, 2013-08-24 13:30

Kiti klausimai dėl etikečių arba užduoti klausimą