var v2 = 5 >> 2 = 00000001(2) = 1(10)
オペレーター追加コンテンツ:
代入演算子: 実際、これは基本的な代入演算子: = で、等号の右側のデータを等号の左側の変数に代入することを意味します。
間違った文法: 」
var v1 = 1、v2 = 2、v3 = 5、v4 = -2;
V1 + v2 = v3 + v4; // 間違い、大きな間違い、大きな間違い ;
複合代入演算子: += -= *= /= %=
演算子の優先順位 - 多すぎて複雑すぎて覚えることができませんが、いくつかのルールを覚えておいてください:
1. 注意: オペレーターには優先順位 (順序) の問題があります。
2、括弧が最も優先され、等号(代入)は最後に優先されます。
3、最初に掛け算と割り算をしてから、足し算と引き算をします
4. 明確に考えられない場合や理解できない場合は、括弧を使用して解決してください
5、括弧は単に括弧であり、レイヤーごとにネストできます。
例:
変数年 = 2013;
闰 // 閏年の判定: 年は 4 で削除でき、100 で削除できないか、または 400 で削除でき、これも閏年です。
{ document.write( year + "うるう年です") ;}
データ値の転送方法:
var v1 = 10;
var v2 = v1; // v1 の中間値をコピーし、変数 v2 に代入します - これは、「v1 の値を v2 に渡す」とも言えます
var v1 = v1 + v1; //v1 の値は変更されますが、v2 自体は独立変数であるため、v2 には影響しません。
document.write(" v1=" + v1);
document.write(" v2=" + v2); //10、いいえ、40、
上記の「v2 = v1」は「値によるコピー」と呼ばれます。v1 の値を取得し、コピーを作成して、それを v2 に割り当てます
var v3 = {name:"小花", age:18, edu:"University"}; //これはいわゆる「オブジェクト」タイプであり、3 つのデータが含まれています。
//データの操作は次のようになります:
document.write(" v3 オブジェクトの経過時間は次のとおりです: " + v3.age);
v3.age = 19; //v3 オブジェクトの年齢データの値には、前の v1 = 20 と同様に新しい値が繰り返し割り当てられます。
var v4 = v3; //このとき、v3 変数の「メモリアドレス」が v4 変数に渡され、v3 オブジェクト自体のデータは実際にはこのアドレスからのみ取得されます。 ——これを値による参照といいます——このとき、2つの変数は実際には同じデータ内容を持ち、これは人の複数の名前(本名、芸名、スクリーン名、ニックネーム)と同様です
document.write(" v4 でのこのオブジェクトの経過時間は次のとおりです: " + v4.age);
v3.age = 20;
document.write(" 現時点でのオブジェクト v4 の年齢は次のとおりです: " + v4.age);
概要:
本 JSでは、基本的なデータ型は「値をコピーして渡す」、つまり値を渡すと新しいデータが生成されます(もちろん別の変数でも表現します)
複合データ型 (配列とオブジェクト) は、値が渡されたときの値の値である「参照値」を使用しますが、データにはまだ 1 つのコピーしかなく、2 つの変数は同じデータを指します。
ブランチ構造の場合:
制御構造: 特定の構文を使用してプログラムの実行フローを制御することです。「プロセス制御構造」とも呼ばれます
分岐とは、「複数の道、1 つを取る」という意味です。
最も単純な形式:
//この条件が満たされる場合 (つまり、条件判定の結果が true の場合)、その中のステートメント ブロックが実行されます。そうでない場合は何も行われません。
if(条件判断文)
{
// 実行されるステートメント ブロック - ステートメント ブロックは、実際には「n 個のステートメント」の総称です。 }
分岐フォームを 1 つ選択してください: 意味は、2 つの道があり、1 つを選択する必要があるということです。
if(条件判断文)
{
// 実行されるステートメント ブロック 1 - 前の条件が true の場合に実行されます
}
その他
{
// 実行されるステートメント ブロック 2 - 前の条件が true でない場合に実行されます
}
複数選択分岐構造: 条件の満足度に応じて複数のパスの 1 つを選択しますが、どれも選択しないことも可能です:
if(条件判定1) //この条件が満たされた場合、ステートメントブロック1が実行され、その後ifが終了します
{
// ステートメントブロック 1
}
else if (条件判定2) //条件1が満たされない場合は条件2を判定し、満たされている場合は文ブロック2を実行して終了 if
{
// ステートメントブロック 2
}
else if (条件判定3) //条件2が満たされない場合は条件3を判定、満たされている場合は文ブロック3を実行して終了 if
{
// ステートメントブロック 3
}
………………………………………… 。 。 。 。 。いずれの条件も満たされない場合は、最後に何も実行されず、if は終了します。
総合型:
if(条件判定1) //この条件が満たされた場合、ステートメントブロック1が実行され、その後ifが終了します
{
// ステートメントブロック 1
}
else if (条件判定2) //条件1が満たされない場合は条件2を判定し、満たされている場合は文ブロック2を実行して終了 if
{
// ステートメントブロック 2
}
else if (条件判定3) //条件2が満たされない場合は条件3を判定、満たされている場合は文ブロック3を実行して終了 if
{
// ステートメントブロック 3
}
…………………… 。 。 。 。 。
その他
{
// 最後の else ステートメントブロック。 //このステートメント ブロックは、前の条件がいずれも満たされない場合に実行されます。
}
注: 包括的なフォームでは、実行される分岐 (ステートメント ブロック) が 1 つ必要です。
ブランチ構造の切り替え:
switch の分岐構造の全体的な意味は if の構造と似ており、その使用形式は次のとおりです:
switch (変数または式) //変数であっても式であっても、最終的には「値」を表します。話すためには v1 を使用します
{
case 固定値 1: //v1 が値 1 と等しい場合、ステートメントブロック 1 が実行されます
// ステートメントブロック 1;
休憩。
case 固定値 2: v1 が前の値 1 と等しくない場合は、ここで値 2 と等しいかどうかを判断し、等しい場合はステートメント 2 を実行します。
// ステートメントブロック 2;
休憩。
ケース………………………………
。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 T デフォルト: // 前の判断が成立しない (つまり、等しくない) 場合、この文が実行されます。
//デフォルトのステートメントブロック
}
特記事項: if ステートメントでは、実際には > などの非常に柔軟な条件判断を使用できます。
while ループ構造:
循環の基本概念:
1. ループとは、特定のプログラム (ステートメントのブロック) を繰り返し実行することです
2. ループを止める方法があるはずです - コンピューターには「疲れた、もうやらない」と判断する独自の判断能力がありません
while ループの基本構文形式:
while (条件判定) //条件判定が満たされた場合はステートメントブロックが実行され、そうでない場合は while が終了します。
{
// 実行されるステートメントブロック
} // このステートメントブロックが実行されると、すぐに前の while 位置に戻り、判定を続行します。
上記の形式は文法上の基本的な要件にすぎませんが、「実践的な」状況では通常、次のパターンに従う必要があります:
【ループ変数の初期化】
while ( 【条件判定としてループ変数】 )
{
【ループ変数値の変更】
}
do while ループ構造:
do whileループは、最初に1回実行し、その判定条件に基づいて実行を継続するかどうかを決定してループするループ構造です。
do while の実際の形式は次のとおりです:
【ループ変数の初期化】
やります
{
_
量 [ループ変数値の変化]
} while ( 【条件判定としてループ変数】 ) ;
説明: まず do の後の括弧内のステートメント ブロックを実行し、次に while ステートメントで条件判定を実行します。判定が true (真) の場合は引き続き上記の do に戻り、中括弧内のステートメント ブロックを実行します。それは終わります。
for ループ構造 - 推奨される使用法:
for ループの基本形式:
for( [ループ変数Aの初期化]; [条件判定としてのループ変数B]; [ループ変数の値Cの変更] )
{
// ループ本体 D、繰り返し実行されるステートメント ブロックです
}
forループの実行ロジック(シーケンス):
A è Bètrue è D è C è Bètrue è D è C è Bè
」
機能
関数は数値ではありません。
関数は単なる構文構造です。
関数は、複数行のコードを「パッケージ化」し、全体として使用する文法構造です。
関数は、変数と同様に、定義して使用する必要がある構文であると言えます。定義して使用する必要があります。
関数は特定の機能を達成するように設計されており、通常は「繰り返し実行する必要がある関数」です。関数の目的は、その関数にラップされているコードブロック(ステートメントブロック)を実行することです
関数は独立した実行空間です。つまり、関数内のコードは関数の外側のコードから「分離されている」と考えることができます。
関数の定義形式:
function関数名(仮引数1、仮引数2、...)
{
// 実行されるステートメントブロック - 関数本体
}
var s1 = parseInt(3.5);
var s2 = parseInt(3.8);
var s3 = parseInt(3.1);
var s4 = parseInt(3.0);
var s5 = parseInt(3) //3;
——parseInt は実際には関数、つまりシステム内部関数です。この関数には、指定された数値を対応する整数 (指定された数値以下の最大の整数) に変換する「魔法の能力」があります。
リクエストをする:
2つの直角辺3と4に対応する斜辺を求めたいです。
ボール 5 と 6、ボール 7 と 8 などに対応する斜辺も必要です。 。 。 。 。 。 。 。
関数とは正確には何ですか?関数は、モジュール型プログラミングのアイデアを文法的に具体化したものにすぎません。いわゆるモジュール型プログラミングのアイデアは、さまざまな「繰り返しタスク」を独立した「モジュール」にし、使用するときにそれらを「直接呼び出す」ことで、繰り返しタスクの必要性をなくすというものです。書くこと。
関数呼び出しフォーム:
関数名 (実パラメータ 1、実パラメータ 2、....);
関数呼び出しプロセス:
1、まず、関数呼び出し時の実パラメータ値を関数定義時の仮パラメータに1対1対応で渡します。
a) 仮パラメータは、関数の機能に応じて、特定の実際の意味を表す「変数名」のみである必要があります。
b) 実際のパラメータは 1 つの「データ」のみである必要があります (直接データまたは変数データの場合があります)
c) 注: 仮パラメータの変数名では var を使用したり、他の場所で定義したりすることはできません。
2、その後、プログラムの実行フローが関数に入り、関数内の「すべてのステートメント」が適切なフローに従って実行されます
3. 関数内のプログラムの実行が完了すると、プログラムの実行フローは関数呼び出しの位置に戻ります。
a) 関数によって実行されるタスクに戻り値が必要な場合、値を返すために return ステートメントを使用する必要があります。この時点で関数は自然に終了します。
b) 関数が値を返す必要がない場合は、return ステートメントも使用できます。この時点では、関数がここですぐに終了することを示すだけです (すべてのステートメントが完全に実行されるわけではありません)。
関数の戻り値の 2 つのケース:
戻り値があります。これは、関数が特定の「計算」(実行) 後にデータを取得し、そのデータが呼び出し元 (呼び出し元) に返されることを意味します。このとき、それを実現するには「return a value;」を使用する必要があります。 ——たとえば、上司が一定額を受け取って従業員に電車の切符を買うように指示した場合、従業員は購入した電車の切符を上司に返却する必要があります。
特記事項: 戻り値がある場合、関数呼び出しは値として扱われる必要があります。
文法によって決定されず、実際のニーズによって決定される関数の戻り値はありますか。文法は実際のニーズに従ってのみ変更されます。
表示 戻り値なし: 関数は実行中にコードを実行するだけで、実行完了後に「呼び出し元」にデータを返す必要がないことを意味します。
関数のパラメータ: 文法的な規則はまったくありません。代わりに、パラメータがあるかどうか、またはパラメータの数が何であるか、つまり関数の機能を完了するためにアプリケーション自体のニーズに従って決定されます。必要なデータを提供する必要があり、このデータは 反応は関数の仮パラメータであり、それぞれの仮パラメータは特定の意味 (データ) を表します。
変数の範囲
いわゆるスコープとは「有効かつ利用可能な範囲」を指します
スコープには 2 種類あります:
グローバル スコープ: すべてのプログラム スコープで使用できる (有効な) スコープ。
フィールド ローカルアクションスコープ:使用できる(有効な)範囲は、特定の範囲(通常は関数内)でのみ使用できます。
変数はスコープの観点から 2 つのタイプに分類されます:
グローバル変数: グローバルスコープで使用できる変数を指します(有効)。関数の外で定義された変数はグローバル変数です。グローバル変数は関数の外部と内部の両方で使用できます。
ローカル変数: 特定のスコープ (通常は関数) 内でのみ有効な変数を指します。通常は変数が定義されている関数内です
システム内部関数
parseInt(xxx): パラメータ xxx を整数に変換する - 丸め演算。
parseInt(3);
parseInt(3.8);
parseInt(3.1);
parseInt(“3”); è 3
parseInt( “3.8” ) è 3
parseInt( “3.1” ); è 3
parseInt( “3abc” ); è 3
parseInt( “3.8abc” );è 3
parseInt( “3.1abc” );è 3
parseInt( “abc3” ) è NaN
parseInt( “abc 3.8” );è NaN
parseInt( “abc3.1” );è NaN
parseInt( “abc” ) è NaN
NaN - これは特別な数値 (タイプ数値) であり、その意味は次のとおりです: 数値ではありません - この状況は通常、数値が必要であるが、提供されたデータが数値ではないか、数値に変換できないことを意味します。 ——数値 NaN は、それ自体を含め、どの数値とも等しくありません。
parseFloat(xxx): パラメータ xxx を 10 進数に変換します。
parseFloat (3);
parseFloat (3.8);
parseFloat ( 3.1 ); è 3.1
parseFloat (「3」);
parseFloat ( "3.8" );
parseFloat (「3.1」);
parseFloat ( "3abc" ) è 3
parseFloat ( “3.8abc” );
parseFloat ( “3.1abc” ) è 3.1;
parseFloat ( "abc3" ) è NaN;
parseFloat ( "abc 3.8" );
parseFloat ( "abc3.1" ) è NaN ;
parseFloat ( "abc" ) è NaN ;
Number(xxx): パラメータ xxx を「数値」に変換します。parseFloat との比較に注意してください。
数字 ( 3 )
数字 (3.8) è 3.8
番号 (3.1);
数字 (「3」)
番号 (「3.8」);数値 (「3.8」)。
番号 (「3.1」);
番号 (「3abc」 );
数値 ( "3.8abc" ) è NaN
数値 (“3.1abc” ) è NaN
番号 (「abc3」);
数値 (「abc 3.8」) è NaN
番号 ( "abc3.1" ) è NaN
番号 (「abc」);
isNaN(xxx): パラメータ xxx が「数値ではない」かどうかを判断します - 数値でない場合、結果は true、数値である場合、結果は false
) イスナン (3) は誤りです
isNaN (3.8);
isNaN (3.1);
はNaN (「3」);
3 イスナン (「3.8」) è False;
isNaN (「3.1」) è false
isNaN (“3abc” );
3 イスナン (「3.8ABC」) è true;
isNaN (“3.1abc” );
isNaN (「abc3」);
isNaN ( "abc 3.8" );
isNaN (「abc3.1」);
isNaN (「abc」) è true;
以上、PHP 基礎学習ノート (3) を関連内容も含めて紹介しましたので、PHP チュートリアルに興味のある友人の参考になれば幸いです。
|