業務備忘録

備忘録です

JavaScriptのthisまとめ

2023-06-27 22:23:23 | 日記
  1. グローバルコンテキスト: グローバルスコープ(最上位のスコープ)でのthisは、通常はグローバルオブジェクト(ブラウザ環境ではwindowオブジェクト、Node.js環境ではglobalオブジェクト)を指す。

  2. 関数コンテキスト: 関数内でのthisは、関数が呼び出された方法によって異なる値を持つ。

    • 通常の関数呼び出し: 通常の関数呼び出しでは、thisはグローバルオブジェクト(ブラウザ環境ではwindowオブジェクト、Node.js環境ではglobalオブジェクト)を指す。ただし、厳格モード ("use strict") で関数が実行されている場合、thisundefinedになる。

    • メソッド呼び出し: オブジェクトのメソッドとして関数が呼び出された場合、thisはそのメソッドを呼び出したオブジェクト自体を指す。

    • コンストラクタ呼び出し: コンストラクタ関数からオブジェクトを生成する際、thisは新しく生成されたオブジェクトを指す。

    • callapply メソッドの使用: callapply メソッドを使用して関数を呼び出す場合、明示的に指定したオブジェクトがthisとなる。

  3. アロー関数: アロー関数内のthisは、通常の関数とは異なる挙動を示す。アロー関数内のthisは、関数が定義された時点での外部スコープのthisをキャプチャし、関数内でその値を保持する。そのため、アロー関数内のthisは実行コンテキストによらず一定の値を持つ。


ASP.NETでモデルバインドせずに値をコントローラに受け渡す

2023-06-27 22:13:02 | 日記

cshtml側のフォームのname属性に指定した文字列と、コントローラ側のアクションメソッドの仮引数の文字列を一致させるだけ。

【controller】

[HttpPost]

public ActionResult MyAction(string value1, string value2)

{ // value1とvalue2を使用して処理を行う //

... return View();

}

 

【cshtml】

<form action="/Controller/MyAction" method="post">

<input type="text" name="value1" />

<input type="text" name="value2" />

<button type="submit">Submit</button> </form>