JavaScriptの基本的なコーディングパターン
1. 変数の定義
//一般的な書き方
var a = 0;
var b = 1;
var c = 'xxx';
//推奨する書き方
var a = 0,
b = 1,
c = 'xxx';
2. リテラルを使ってみます
//一般的な書き方
var obj = new Object();
obj.a = 'aa' obj.b = 'bb'; c = 'cc';
var arr = new Array();
// 推奨書き方
var obj = {
a: 'aa',
'cc'
function getXX(index){
Return [' aa', 'bb', 'xx', 55, 'xxb'](index);
}
function getMessage(code){
return {
404: 'xxx ',
500: 'xxx'
}[ code];
}
3. 通常のリテラル
var regex = new RegExp('someting');
// 正規表現が変更される可能性がある場合にのみコンストラクターを使用する Function
var cls = 'someclass',
regex = new RegExp(cls + '\s*', 'ig'); // 動的正規表現のみ
var regex = /someting /ig;
4. デフォルト値を設定する個人的な感覚 typeof)
// デフォルト値
var arg = arg || 'default'; // fallback
document.getElementById('test').onclick = function(event){
varevent =event || .event;
};
return a+1 || 'default';
}
function getY(b ){
return typeof b != = "未定義" ? b : 'default';
}
5. 条件判断
// 条件
answer = obj && obj.xx && obj.xx ... if(!obj){
/ // do something
}
// 一致判定を使用する
if(a === b){
}
// ブラウザを検出せず、検出のみを試みる 使用する機能がサポートしているか
if(document.getElementById){
// 能力検出
}
6. 三項演算子
// 三項演算子 update Simplevar Foo = (Condition)?
関数 xx () {
IF (条件) {
戻り値 1;
} Else {
戻り値 2; 関数 xx () {
戻り値 1 : 値 2;
}
// 三項演算子
foo のフォーマット= predicate ? "one" :
" predicate ? "two" :
" "default"; // format
7. 反復値を挿入
// 反復を挿入
var name = value[i];
// 反復値を直接挿入します
var name = value[i++];
8. DOM 操作
// DOM 操作
el.style.display = 'none' // オフライン
// 操作
el。 style.display = 'block';
// ドキュメントの断片化を使用する方がよい www.2cto.com
var flagment = document.createDocumentFragment(); // 高速削除すべての子ですが、メモリがリークする可能性があります
el.innerHTML = 'xxx' // 大丈夫、使ってください!
// NodeList は慎重に扱ってください
var image = document.getElementsByTagName('img'); // 注意してください! list
9. イベントプロキシ
// イベントプロキシを使用して外部要素のイベントをリッスンします
document.getElementById('list ').onclick = function(evt){
var evt = evt || target = evt.target || evt.srcElement;
// 何かをする
}
}
名前空間
10.
// 名前空間としてのオブジェクト
var MYAPP = {};
MYAPP.dom.get = function(id){};
MYAPP.style.css = function(el, style){};
MYAPP.namespace ('event');
11. 連鎖操作
// 連鎖操作: return this
function setValue(el, value){
el.value = value;
return this;
}
var obj = new MYAPP .dom.Element('span');
obj.setText('hello')
.setStyle('color', 'red')
.setStyle('font', 'Verdana');
12.
// Function
(function(){
var _private = '会えない';
})();
(function($){
$('#xxb').click(function () { });
})(jQuery);
13. オブジェクトの設定
// オブジェクトの設定
function foo(id, conf, null, null){
// 何かをする
}
foo(' bar' , {
key1 : 1,
key2 : 2
});
14. 型変換
// 型変換
+'010' === 10;
Number('010') === 10 ;
parseInt('010', 10) === 10;
10 + '' === '10';
+new Date() // タイムスタンプ
+new Date;
15.前方互換性が必要な場合にのみ使用されます。それ以外の場合は、プロトタイプ オブジェクトを拡張することは推奨されません
// 前方互換性のみ
};
16. // キャッシュ
for(var i=0, j = document.getElementsByTagName('a').length; i0; i--){
}
// 最速と言われています
while(i- -){
// おそらく最速
}
17. できるだけ新しい機能を使用するようにしてください
Array.forEach();
getElementsByClassName();
// まず新しい機能がサポートされているかどうか、使用できるかどうかを確認する
if(document.getElementsByClassName){
// use
}else{
// 実装
}
18. 遅延読み込み
// 1 回だけ判断する、再度関数を呼び出すときに判断する必要はありません
function LazyDef () {
Lazydef = function () {}; else if (Condition2) {
Lazydef = function ()
};
}
19. プライベート所有権 関数とパブリックメソッド
var MYAPP = {};
MYAPP.dom = (function(){
var _setStyle = function(el, prop, value){
};
Return {
SetStyle: _SetStyle
};
// myApp.DOM.SETSTYLE が内部的に渡され、最終的に出力される場合があります。結合された文字列
console.log('xx','xx','...');
console.dir(someObj);
console.dirxml(someDom);
console.time('timer') ;
console.warn('xxx');
// カプセル化により、偶発的な解放によって問題が発生することはありませんが、エラーを報告する際の行番号に問題がある可能性があります
function msg(msg) {
if( console && console.log){
}
}

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...

この記事の視差スクロールと要素のアニメーション効果の実現に関する議論では、Shiseidoの公式ウェブサイト(https://www.shisido.co.co.jp/sb/wonderland/)と同様の達成方法について説明します。

エントリーレベルのタイプスクリプトチュートリアルをマスターしたら、TypeScriptをサポートするIDEで独自のコードを作成し、JavaScriptにコンパイルできるはずです。このチュートリアルは、TypeScriptのさまざまなデータ型に飛び込みます。 JavaScriptには、NULL、未定義、ブール値、数字、文字列、シンボル(ES6によって導入)とオブジェクトの7つのデータ型があります。 TypeScriptはこれに基づいてより多くのタイプを定義し、このチュートリアルではすべてを詳細に説明します。 ヌルデータ型 JavaScriptのように、Typescriptのnull

JavaScriptはPowerPointで実行でき、外部JavaScriptファイルを呼び出したり、VBAを介してHTMLファイルを埋め込んだりすることで実装できます。 1. VBAを使用してJavaScriptファイルを呼び出すには、マクロを有効にし、VBAプログラミングの知識を持つ必要があります。 2。JavaScriptを含むHTMLファイルを埋め込みます。これは、シンプルで使いやすいが、セキュリティ制限の対象となります。利点には、拡張機能と柔軟性が含まれますが、欠点にはセキュリティ、互換性、複雑さが含まれます。実際には、セキュリティ、互換性、パフォーマンス、ユーザーエクスペリエンスに注意を払う必要があります。
