スキップしてメイン コンテンツに移動

JavaScript入門 - パート4

JavaScript入門 - パート4

パート4では、JavaScriptの高度なトピックについて学びます。これには、関数の応用、クロージャ、そしてDOM操作が含まれます。

関数の応用

1. コールバック関数

コールバック関数は、他の関数の引数として渡され、後で実行される関数です。

function greet(name, callback) {
    console.log("こんにちは、" + name + "!");
    callback();
}

function sayGoodbye() {
    console.log("さようなら!");
}

greet("太郎", sayGoodbye);

2. 高階関数

高階関数は、他の関数を引数として受け取るか、関数を返す関数です。

function multiplyByTwo(x) {
    return x * 2;
}

function operateOnArray(arr, func) {
    let result = [];
    for (let i = 0; i < arr.length; i++) {
        result.push(func(arr[i]));
    }
    return result;
}

let numbers = [1, 2, 3, 4, 5];
let doubledNumbers = operateOnArray(numbers, multiplyByTwo);
console.log(doubledNumbers);  // [2, 4, 6, 8, 10]

クロージャ

クロージャは、外部関数から内部関数を返す関数であり、内部関数は外部関数の変数やパラメータにアクセスできます。

function counter() {
    let count = 0;
    return function() {
        count++;
        console.log(count);
    };
}

let increment = counter();
increment();  // 1
increment();  // 2
increment();  // 3

DOM操作

DOM(Document Object Model)は、HTML文書の構造化された表現であり、JavaScriptを使って操作することができます。

3. 要素の取得

let heading = document.getElementById("main-heading");
console.log(heading.textContent);

4. 要素の変更

let paragraph = document.getElementById("main-paragraph");
paragraph.textContent = "新しいテキスト";

5. イベントの追加

let button = document.getElementById("my-button");
button.addEventListener("click", function() {
    alert("ボタンがクリックされました!");
});

まとめ

パート4では、JavaScriptの高度なトピックについて学びました。関数の応用、クロージャ、そしてDOM操作は、より高度なウェブ開発に不可欠な概念です。これらを理解することで、より動的でインタラクティブなウェブページを作成できるようになります。

コメント

このブログの人気の投稿

「8発目」 神奈川県立の出願システムのドメインmail.shutsugankanagawa.jp をdigコマンドで色々と確認してみた。

今、話題となってる、高校受験する為にネットで登録する時にgmail が届かない件  2024/01/17 16時 頃 digコマンドを利用して確認してみました。さて、どこが悪いんでしょうね。 まずはこれから % dig mail.shutsugankanagawa.jp ;; ANSWER SECTION: mail.shutsugankanagawa.jp. 122 IN A 13.113.157.93 mail.shutsugankanagawa.jp. 122 IN A 52.193.62.66 mail.shutsugankanagawa.jp. 122 IN A 52.194.140.218 今度は、txt をつけて % dig mail.shutsugankanagawa.jp txt ;; ANSWER SECTION: mail.shutsugankanagawa.jp. 300 IN TXT "v=spf1 include:amazonses.com ~all" mail.shutsugankanagawa.jp. 300 IN TXT "google-site-verification=eBRf3ipFa5PReqemKRG2zePZUOEfBc6NO5GuPisqN5A" 次はMXをつけて % dig mail.shutsugankanagawa.jp mx ;; ANSWER SECTION: mail.shutsugankanagawa.jp. 300 IN MX 10 ec2-52-193-62-66.ap-northeast-1.compute.amazonaws.com. mail.shutsugankanagawa.jp. 300 IN MX 10 ec2-52-194-140-218.ap-northeast-1.compute.amazonaws.com. mail.shutsugankanagawa.jp. 300 IN MX 10 ec2-13-113-157-93.ap-northeast-1.compute.amazonaws.com. mail.shutsugankanagawa.jp. 300 IN MX 20 feedback-s...

Power CMSX(まとめ)

  Power CMSX(まとめ) 最近blogを書き始めましたが、案件が一区切りついたので感想含めて記載します。 初めてPower CMSXを触りました 全体的 ・悪い印象 開発環境のセットアップに手間がかかる ライセンス問題(有料 + 利用方法) 無料で利用できる範囲をもう少しひろげられないか?  →ローカルでdocker等で構築して開発する場合は、それぞれ開発者アカウント必要では? プラグインが少ない(自作する必要あり) 調べても情報少なく公式しかない サンプルがすくない ・良い印象 テンプレートはMovable Typeなので、知っていれば何でも記載できる 困った時に問い合わせ可能(●●みたいなことはできる? とか聞いてもOK) スペースの概念は良いと思う 動的出力と静的出力を選べる(ここ重要)どうでも良いページは静的にしてなど設定できる ・第一段階(導入初期) サーバーセットアップ apacheとPHP(もろもろ)いれるDBセットアップ 取りあえずサクッと動いた CMSの管理画面でTheme設定したら、Viewとかいっぱい出てきた なにも考えず、デフォ3種をポチポチしたら、テンプレートがいっぱい Theme変更しても、消えずのこったまま。 スペース、モデル、ビュー( テンプレート)の概念把握 ・第二段階(導入中期) 動的に記事データを取ってきたり、一覧表示したりは理解 条件つけて一覧表示したり <mt:> 使って 条件分岐 URLマップの概念、Assets関連などの理解 テンプレートもパーツ化して再利用 管理画面のカスタムの仕方 意外とハマった .htaccess 、一度、設定失敗して管理画面含めてアクセスできなくなりましたw ・第三段階(導入後期) PCMSのプラグイン開発やTinyプラグインの開発まで範囲を広げる どうしても、要件を実現したく力技で実装したが、件数が多いとすごく遅い箇所の改善 プラグイン(PHP) を作成して、DBで一括で取得してPHPで整形してHTML返すとか。 あと入力関連でTinyを利用するので、デザインされたCSSを反映させる為、 カスタマイズやTinyのプラグインを開発 現在に至る ・その他 開発環境を用意したとして、本番環境にデブロイする手法はなにが最適なのか? プラグイン関連はファイルのアップロードで良...