私たちは通常、ランダムに引かれたカードを小さいものから大きいものへ順番に並べます (私が子供の頃、2 組のカードを捕まえることができなかったのを覚えています)。このエッセイは、この機能に慣れるためのものです。 jsでの配列のソートなど。
使用する知識ポイント:
1. ファクトリ モードでオブジェクトを作成する
2.js 配列 sort() メソッド
var testArr = [1, 3, 4 , 2] ;
testArr.sort(function (a,b) {
return a - b;
})
alert(testArr.toString());//1,2,3 ,4
testArr.sort(function (a, b) {
return b- a;
})
alert(testArr.toString());//4,3,2,1
3.js-Math.radom() 乱数
Math.random();//0-1 取得した乱数は0以上1未満です
4.js 配列スプライスの使用法
//最初のパラメータは開始位置です。挿入の
//2 番目のパラメータは開始位置から削除される要素の数です
//3 番目のパラメータは開始位置から挿入される要素です
//Example
var testArr = [1, 3, 4, 2];
testArr.splice(1, 0, 8);
alert(testArr.toString());//1,8,3,4,2
var testArr1 = [1, 3, 4, 2];
testArr1.splice(1, 1, 8);
alert(testArr1.toString());//1,8,3, 4,2
5.js 配列シフトの使用法
// の最初の要素を取り出します。配列を返し、その配列を返します。 最初の要素を削除します。
//Example
var testArr = [1, 3, 4, 2];
var k= testArr.shift();
alert( testArr.toString()) ;//3,4,2
alert(k);//1
これらの基本的な知識を踏まえて、1 人がカードを引くたびに、順番を確保するためにそれを手札に挿入する必要があると仮定します。幼少期から大人まで!
ステップ 1: まず、トランプ オブジェクトを生成するメソッドを作成する必要があります:
/*ファクトリー モードではさまざまなカードが作成されます
*number:カードの番号
*type:カードのスーツ
*/
var Cards = (function () {
var Card = function (number, type) {
this.number =number;
this.type = type;
}
return function (number, type) {
return new Card(number, type);
}
})()
ステップ 2: トランプを作成し、シャッフルして保存します
var RadomCards = [];//ランダムカードストレージ配列
var MyCards = [];//ドローカードをストレージ
//スーツ 0-スペード 1-クラブ2-ダイヤモンド 3-ハート 4-大きな幽霊 5-小さな幽霊
//数字 0 ~ 13 は幽霊、1、2、3、4、5、6、7、8、9、10、J、Q、を表します。 K;
function CreateCompeleteCard() {
varindex = 2;
var arr = [];
for (var i = 0; i If (i == 0) {
arr[0] = 新しいカード(i, 4);
arr[1] = 新しいカード(i, 5);
} else {
for ( var j = 0; j arr[index] = 新しいカード(i, j);
インデックス ;
}
RadomCards = SortCards(arr) );
Show();// 現在のカードをページに表示します
}
// カードをシャッフルします
function SortCards(arr) {
arr .sort(function (a, b) {
0.5 を返す - Math.random();
ステップ 3: カードを引くときは、まず挿入位置を決定し、次に新しいカードを指定された位置に挿入して、新しい順序を形成する必要があります
コードは次のとおりです:
//カードの引き方
function GetCards(CardObj) {
var k = InCardsIndex(MyCards, CardObj);//挿入位置を考える
MyCards.splice(k, 0 , CardObj); // 新しいシーケンスを形成するために挿入します
}
/*[カードを挿入する位置を取得します]
*arr: 現在手元にあるカード
*obj:新しく描かれたカード
*/
function InCardsIndex(arr, obj) {
var len = arr && arr.length ||
if (len == 0) {
return 0 ;
Return 0;
}
} else {
var backi = -1;
for (var i = 0; i
if(obj。number< = arr [i] .number){
if(backi == -1){
わかりました! HTML 上のボタンを使用してカードの描画を開始し、一度に 1 枚ずつクリックしてください。そしてそれを見せてください
コードをコピー
コードは次のとおりです。
lenNew for (var i = 0; i var html = "
}" MyCards[i].type " b>-
HTML と CSS コードをアップロードします
style="クリア: 両方">
私が引いたカード:

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。
