ホームページ ウェブフロントエンド jsチュートリアル 私が個人的に重要だと思う 9 つの JavaScript プログラミング スキルを共有する_JavaScript スキル

私が個人的に重要だと思う 9 つの JavaScript プログラミング スキルを共有する_JavaScript スキル

May 16, 2016 pm 04:02 PM
javascript プログラミングスキル

1. 判断を上手に使う:

jsでは、NaN、unknown、Null、0、""はboolに変換するとfalseになるので、このように書けます。

コードをコピーします コードは次のとおりです:

if(!obj) {}

は、オブジェクトが false の場合にオブジェクトが行う動作を表します。obj が上記のいずれかである場合、それは false、!false は true であるため、if(obj==null || obj == NaN を指定する必要はありません) ....)。

2. 演算子を上手に使用します:

タイムスタンプを取得するには非常に古典的なトリックがあります。

コードをコピーします コードは次のとおりです:

var dataspan = new Date()*1;

js は型指定が弱い言語であることがわかっています。Date() は、この文字列を使用して算術演算を実行すると、結果のタイムスタンプが変換されます。

3. 正規表現を上手に使用します:

コードをコピーします コードは次のとおりです:

/.a/ig.exec('xsas')
//reg オブジェクトを作成して exec メソッドを呼び出すことと同じです。もちろん、test()、match() などの他のメソッドも呼び出すことができます。

4. 配列の最大値と最小値を取得します:

コードをコピーします コードは次のとおりです:

var 値 = [1,2,3,40,23]; var max = Math.Max.apply(Math,values);

Max.apply を呼び出し、オブジェクトを Math に設定し、値を渡して最大値を決定します。

5. メモリの最適化:

コードをコピーします コードは次のとおりです:
関数 p(){this.p='moersing'}; var p1 = 新しい p(); p1.xx
p1.xx
…..
p1=null; //操作を実行した後、最後に p1 への参照を手動で解放します。


6. オブジェクトを作成する最も一般的な方法 (プロトタイプ モード):

コードをコピーします コードは次のとおりです:
関数 c(){
This.name ='moersing';
This.age=18;
This.books=['javascript 開発','C# 開発'];
}
c.prototype={
displayBookName:function (){
foreach(this.books の変数)
{
document.write(this.books[t]);
}
}
}


プロトタイプ構築パターンの最大の欠点は、参照型の共有であるため、コンストラクターで参照型を定義し、この参照を使用してプロトタイプで一般的なメソッドを定義します。

7. ブロックレベルのスコープとプライベート変数

JavaScript にはブロックレベルのスコープやプライベート変数のようなものはありませんが、いくつかの機能を使用することで、これらの効果をシミュレートできます。

7.1 ブロックレベルのスコープ:

コードをコピーします コードは次のとおりです:
(関数(){
//ブロックレベルのスコープ
}
)();


匿名関数を括弧で囲みます。私はこれを「関数の標準化」と呼んでいます。つまり、次のような標準関数のように呼び出すことができます。

コードをコピーします コードは次のとおりです: 変数名 =function(){};
(name)();//これは通常このようには書かれません;

この利点は、関数内の変数に () の外部からアクセスできないことと、ブロックレベルのスコープになることです。このメソッドは通常、プラグインを作成するときに使用され、グローバルに追加の変数を追加しません。 .変数であり、関数の実行後、その内部で定義された変数は破棄されるため、クロージャー機能には問題ありません。

7.2 プライベート変数:

コードをコピーします コードは次のとおりです:

関数 private()
{
var name = 'moersing';
This.getName = function(){
this.name を返します;
}
}

プライベート変数は、実際には関数のスコープを制限 (外部からアクセスできない) として使用し、対応する変数を返すメソッドを定義するだけです。

8.DOM ノードリスト:

nodeList は動的要素です。つまり、ドキュメントに要素を追加すると、nodeList は次のようにリアルタイムで更新されます。

コードをコピーします コードは次のとおりです:

var alldiv = document.getElementsByTagName('div');
for(var i=0;i {
var div = document.createElement('div');
div.innerHTML= i.toString();
document.body.appendChild(div);
}

このコードは無限ループを引き起こします。ループ内で div が作成され、appendChild メソッドがそれを body に追加します。その後、すべての alldiv がすぐに更新されるため、i

コードをコピーします コードは次のとおりです:

var alldiv = document.getElementsByTagName('div');
var len,i;
for(i=0,len=alldiv.length;i {
var div = document.createElement('div');
div.innerHTML= i.toString();
document.body.appendChild(div);
}

ここに提案があります: 各操作で DOM ツリーのクエリが実行されるため、NodeList を頻繁に操作しないことをお勧めします。

上記で紹介した方法に加えて、HTML5 の新たに追加された API (セレクター API Level1) もこの問題を解決できます。 linq リアルタイム クエリとは何かというと、C# の linq リアルタイム クエリと似ています。今後もブログを更新していきますので、お楽しみに:

コードをコピーします コードは次のとおりです:

var allDiv= document.querySelectorAll('div');
for(var i=0;i {
var div = document.createElement('div');
div.innerHTML= i.toString();
document.body.appendChild(div);
}

querySelectorAll には、jquery の $() と同様に、CSS セレクターという 1 つのパラメーターが必要です。返される NodeList は、タイムリーな非動的 DOM コレクションです。

最初に一致した要素を返す querySelector もあります。HTML5 API の詳細については、

を参照してください。

http://www.w3.org/standards/techs/dom#w3c_all

または

https://developer.mozilla.org/zh-CN/docs/Web/API

さらに、HTML5 API に特化したブログも準備中ですので、ご期待ください。

9.DOM パフォーマンス:

そんなバカなことしないでください(やってしまった…)

コードをコピーします コードは次のとおりです:

for(var i=0;i<10;i )
{
document.querySelector('ul').innerHTML="
  • " i "
  • ";
    }

    オブジェクトの innerHTML に値を割り当てると、組み込みの C パーサーが呼び出され、文字列が解析されます。これは非常に高速ですが、パフォーマンスがある程度低下するため、行わないことをお勧めします。

    こうする方が良い:

    コードをコピーします コードは次のとおりです:

    var ih=null;

    for(var i=0;i {
    ih ="

  • " i "
  • ";
    }
    document.querySelector('ul').innerHTML=ih;

    その他のパフォーマンス最適化トピックについては、時間があるときに更新されます。

    以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。

    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    ISOファイルを解凍する方法 ISOファイルを解凍する方法 Feb 19, 2024 pm 04:07 PM

    ISO ファイルは、ファイルやファイル システムを含むディスクの内容全体を保存するために通常使用される一般的なディスク イメージ ファイル形式です。 ISO ファイルの内容にアクセスする必要がある場合は、ISO ファイルを解凍する必要があります。この記事では、ISO ファイルを解凍するための一般的な方法をいくつか紹介します。仮想光学ドライブを使用した解凍 これは、ISO ファイルを解凍する最も一般的な方法の 1 つです。まず、DAEMON Tools Lite、PowerISO などの仮想光学ドライブ ソフトウェアをインストールする必要があります。次に、仮想光学ドライブ ソフトウェアのアイコンをダブルクリックします。

    WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

    WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

    WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

    WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

    JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

    JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

    WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

    WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

    Go プログラミング スキル: スライス内の要素を柔軟に削除する Go プログラミング スキル: スライス内の要素を柔軟に削除する Apr 02, 2024 pm 05:54 PM

    Go スライス要素の削除 単一の要素を削除するには、append() メソッドを使用して、削除する要素を除いた新しいスライスを作成します。 copy() メソッドを使用して要素を移動し、長さを調整します。複数の要素を削除する: for ループを使用してスライスを反復処理し、新しいスライスから削除する要素を除外します。 reverse() メソッドを使用して削除する要素を並べ替え、インデックスの問題を避けるために後ろから前に削除します。削除する要素の数とパフォーマンス要件に基づいて、最も適切な手法を選択してください。

    JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

    JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

    簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

    JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

    See all articles