2017-09-15 7 views
-1

私はこのようないくつかのコードが見つかりました:"this.somevariable"とはjavascriptの意味ですか?

Function a(){ this.somevariable = ''; } 

そして、このようないくつかの他のコード:

Function a(){ var somevariable = ''; } 

その差は変数宣言です。私はがthis.somevariableであることを知る必要があります。 varとは違いますか?

+0

の場合あなたは欲しいあなたが頻繁に誤解を招くまたは不完全な答えを得る次の小さな質問で実行するたびにSOにポストするのではなく、新しい言語を学ぶときにコンピューティングの歴史の中に他の人が何をしているのかをイントロ、チュートリアル、ブログ記事を読むことです。結局のところ、あなたがイタリア語を勉強していたなら、あなたが知らなかった言葉に遭遇するたびにイタリアのサイトに投稿しますか、イタリアの教科書を勉強しますか? –

+0

将来の参照のために、あなたの質問の中にあなたの言語を学んだ経歴やあなたの個人的な希望などの個人的な詳細を含める必要はありません。彼らは無関係で気を散らす。正直言って、誰も気にしない。答えに「ありがとう」コメントを残す必要もありません。答えが役に立つなら、それをupvoteしてください。 –

答えて

-1

はJavaScriptのキーワードです。

function test(){ 
  this.x = 10;  
} 

この場合、thisは内部オブジェクトを表し、関数内でのみ使用できます。

異なる機会の機能では、thisの値が変更されます。しかし、一般的な原則があります:thisは、その関数を呼び出すオブジェクトを意味します。

ケース1: 純粋な関数呼び出し:

これは、関数の最も一般的な用途では、グローバルコールに属します。 だからthisグローバルオブジェクトグローバルを意味します。

例:関数を呼び出すオブジェクトとして :

var m = 10; 
  function test(){ 
    alert(this.m); 
  } 
  test(); // 10 

そして:

var m = 10; 
  function test(){ 
    this.m = 0; 
  } 
  test(); 
  alert(m); // 10 

ケース2

function test(){ 
    this.m = 10; 
    alert(this.m); 
  } 
  test(); // there alert 10 

thisを証明するためには、グローバルオブジェクトであります。 this、この場合のグローバルオブジェクトではないことを示すために、コンストラクタ

function test(){ 
    this.m = 10; 
  } 
  var obj = new test(); 
  alert(obj.m); // 10 

として

function test(){ 
    alert(this.m); 
  } 
  var obj = {}; 
  obj.m = 10; 
  obj.n = test; 
  obj.n(); // 10 

ケース3

var m = 10; 
  function test(){ 
    this.m = 1; 
  } 
  var o = new test(); 
  alert(m); //10 
+0

ありがとうございました。 –

+0

JSで900万回の説明を書くのではなく、OPを既存の包括的な答え、つまりhttp://www.https://のような権威のあるWebページにすることが非常に望ましいでしょう。 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this。あなたは答えではなく、コメントでそれを行うことができます。 –

関連する問題