En JavaScript, une fois qu'une variable globale est déclarée globalement, elle deviendra une propriété de l'objet global du même nom. Cependant, une fois qu'une variable locale est déclarée dans une fonction, elle ne deviendra pas un attribut de la fonction (objet). Elle doit plut?t être déclarée en utilisant "nom de la fonction.nom de l'attribut".
Cela peut être compris ainsi?:
Les variables déclarées à l'intérieur d'une fonction appartiennent à l'objet de contexte d'exécution de la fonction, pas à l'objet de fonction
Les variables déclarées dans l'environnement global appartiennent à l'objet de contexte d'exécution global, et cet objet de contexte est l'objet d'environnement global
Problèmes historiques, il est recommandé d'utiliser le mode strict pour éliminer toute confusion.
'use strict';
var v = 2;
console.log(window.v); // undefined
Si tu veux dire ?a
`function test(){
var a = 1; // 你說(shuō)的a是test的屬性。
this.a = 1;// 這才是函數(shù)的屬性,因?yàn)樵贘S里,“萬(wàn)物”皆對(duì)象(可能夸張了。)
//如果,還不明白,請(qǐng)自覺(jué)翻閱,“神奇的this”,"作用域"等基礎(chǔ)JS章節(jié)
}`
//Mise à jour, correction d'erreur.
L'interlocuteur a un bon aper?u des bases.
Je pense que c'est le problème de portée des variables de fonction js qui est très flexible. J'espère que nous pourrons apprendre ensemble ^~^ ^~^
.En JavaScript, une fois qu'une variable globale est déclarée globalement, elle deviendra une propriété de l'objet global du même nom. Une fois qu'une variable locale est déclarée dans une fonction, elle devient un objet local, qui est un attribut de la fonction, vous devez donc d'abord accéder à la fonction globalement, puis accéder aux variables locales de la fonction.