第1章JS
Day01変数
マークアップ言語は受動的であり、コンピューターによって読み取られて実行されます。
プログラミング言語、アクティブな実行。
Brandon Aich
JSコメントJSステートメント
jsインタープリターによってコンパイル、解釈、実行されるのではなく、クライアントで実行されるスクリプト言語
これで、サーバー側のプログラミングにnode.jsを使用できます。
誕生の目的:フォームの検証、Webページの検証、サーバー開発
デスクトッププログラム、APP制御ハードウェアモノのインターネットrufs
ブラウザは、レンダリングエンジンとJSエンジンの2つの部分に分かれています。
レンダリングは、一般にカーネルとして知られているHTMLとCSSの解析を担当します。
jsエンジンは、jsコードを読み取り、V8のクロムバージョンなどの操作を処理するためのjsインタープリターにもなりました。
JSの構成
1. ECMAScriptJSの基本構文
2. DOMページドキュメントオブジェクトモデルAPIは、ドキュメントのさまざまな要素を操作するために使用されます
3. BOMブラウザオブジェクトモデルブラウザコントロール。ポップアップダイアログボックス、ブラウザジャンプ、解像度の取得など。
javascript Netscape、Jscript Microsoft microsoft、js文法工業化標準
3つの書き方
- 行内式
<input type="button" value="点我试试" onclick="alert('Hello World')" />
-
内嵌式
-
独立した紹介
注釈
1.//は1行のコメントを意味します
2.複数行/ * * /
入出力
alert(msg)ブラウザに警告ボックスが表示されます(上)
console.log(msg)ブラウザコンソールの印刷出力情報
prompt(info)ブラウザが入力ボックスをポップアップし、ユーザーは入力できます
ヒント:プロンプトによってフェッチされるデータは文字列型であり、通常使用するにはデジタル型に変換する必要があります。
<script>
prompt('input age');
//alert
alert('result');
//控制台输出
console.log('for programmer');
</script>
<script type="text/javascript">
function disp_prompt()
{
var name=prompt("请输入您的名字","Bill Gates")
if (name!=null && name!="")
{
document.write("你好," + name + "!今天过得好吗?")
}
}
</script>
対応するHTML:
<input type="button" onclick="disp_prompt()" value="显示一个提示框" />
変数
本質は、メモリ内のスペースを申請することです。
名前とスペースの2つの部分が含まれています。
1.ステートメント
var:variableは変数
varageを参照します; ageという名前の変数を宣言します。
2.割り当て
年齢= 18;
3.出力
console.log( 'age');
変数の宣言と値の割り当てを同時に行うことを変数の初期化と呼びます。
var myname = 'kafuka Teacher';
可変の取得と送信
var myname = prompt('input your name:');
alert('your name is' + myname);
複数の変数を宣言します。varを1回記述し、異なる変数間で使用してそれらを分離します。
変数を宣言するための特別な場合
宣言するが割り当てはしない、出力は未定義
直接出力することを宣言しないでください、定義されていないエラーを報告してください
宣言なし、直接割り当て、年齢= 14を使用でき、jsはそれを許可し、グローバル変数になります。提唱されていません。
JSは文の実行基準を説明しており、エラーが発生した後は実行しません。
変数の命名規則
1.英数字のアンダースコアとドル記号$構成
2.大文字と小文字を厳密に区別
3.番号を開始できません
4.キーワードと予約語は占有できません
5.変数名は意味のあるものである必要があり、拼音を使用しないようにしてください
6.こぶの命名法
データの種類
異なるデータ型は異なるスペースを占有します。スペースを効率的に使用するために、それらは異なるタイプの
JSウィークタイプまたは動的言語に分割されます。つまり、変数のタイプは事前に宣言する必要はありませんが、中に自動的に決定されます。プログラム操作。
事前に変数型を宣言する必要はありません。(Js牛X)
動的言語、可変データ型は変更可能
var x = 10;
var x = 'カフカ先生';
データには2つのタイプがあります
1.単純なクラス番号ブール文字列undefinednull
2.複雑なオブジェクト
別のベース
1.8進数の前に0を追加します
varnum = 010;
2.16進プレフィックス0x
JavaScriptNumberオブジェクト
オブジェクトのプロパティに番号を付ける
属性 | 説明 |
---|---|
constructor | このオブジェクトを作成したNumber関数への参照を返します。 |
MAX_VALUE | 表現できる最大数。 |
MIN_VALUE | 表現できる最小の数。 |
NaN | 数値以外の値。 |
NEGATIVE_INFINITY | 負の無限大。オーバーフローすると値が返されます。 |
POSITIVE_INFINITY | 正の無限大。オーバーフローしたときに値を返します。 |
プロトタイプ | プロパティとメソッドをオブジェクトに追加する機能を提供します。 |
指定されたデータ型の最大値を取得します:Number.MAX_VALUE
関数isNaN()は、出力結果が非デジタル出力であるかどうかを判別するために使用されます。数値でない場合はtrueを出力し、数値の場合はfalseを出力します。
追加された ''はすべて文字列です。
<script>
document.write(isNaN(123) + '<br/>');
document.write(isNaN(-1.23) + '<br/>');
document.write(isNaN(5 - 2) + '<br/>');
document.write(isNaN(0) + '<br/>');
document.write(isNaN("Hello") + '<br/>');
document.write(isNaN("2005/12/12") + '<br/>');
</script>
jsエスケープ文字
\バックスラッシュで始まる
\\ 1つになるには2つ必要です\
文字列の長さを決定します。length;
var aa1= '我爱你';
console.log(aa1.length);
文字列スプライシング+
文字列+任意のタイプ=スプライシング後の新しい文字。
ブール値はデジタル操作に参加します
1の場合はtrue
false 当0
typeofデータ型を取得します
var obj = new String();
console.log(typeof(obj)); //'object'
デジタルブルー
黒い紐
ライトグレーの未定義オブジェクト
型変換
文字列に変換
1.toString();
Var num = 10;
Var str = num.toString();
検出:
var num = 10;
var str = num.toString();
console.log(typeof (str));
2.String();
Var num = 10;
String(num);
3.スプライシング文字列メソッドを使用して暗黙的な変換を実現します
Var num = 10;
コンソール(= 10 + ''かどうか);
デジタルに変換
1.parseInt(); parseInt()関数は、文字列を解析して整数を返すことができます。
2.parseFloat();
3.number()
4.暗黙の変換には算術演算±* /を使用します
オペレーター
演算子とも呼ばれます
残りを取ることはモジュロとも呼ばれます
小数は、間違いを犯すために4つの算術演算に参加します。その理由は、10進数から2進数への変換でエラーが発生するためです。
同じことが他の言語にも当てはまりますか?後で対処する方法があります。
2つの浮動小数点数が等しいかどうかを直接判断しないでください。
余りがゼロの場合、数値を均等に分割できます。
4つの算術優先ルールに従います。
数値演算子変数の構成は、式と呼ばれます。すべての式には戻り値があります。
昇順と降順++-
フロントフロントを置き、バックリアを置きます
場合:
変数= 10;
Var f = e ++ + ++ e;
alert(f);
ここでf = 22;実行中、e ++は実行後にeの値を変更し、++ eを計算するとき、e = 11;
暗黙的な型変換
==はデフォルトで数値タイプを変換してから、比較します。
例:console.log(18 == '18');結果はtrueです
===すべての等号はまったく同じです
データ型を含む
合同を使用できますが、等しくありません
&&論理的で2つ書く
||論理的または2つ書く
!論理否定
優先度
レベル1の括弧
レベル2単項演算子++-!
レベル3算術演算子最初に* /%、次に+-
4レベルの関係演算子>、> =、<、<=
5レベルの等式演算子==、!=、===、!==
レベル6の論理演算子最初に&&、次に||
7レベルの割り当て=
レベル8のコンマ、
ヒント:式の長い文字列で、最初に優先度が最も低い記号を見つけ、式をさまざまなセクションに分割して、セクションで計算を続けます。
ブールオブジェクト
new Boolean(value);
valueパラメータを省略した場合、または0、-0、null、 ""、false、undefined、またはNaNに設定した場合、オブジェクトはfalseに設定されます。それ以外の場合はtrueに設定します(値パラメーターが文字列「false」の場合でも)。
それ以外の場合
選択式?:省略
switch(表达式)) {
case value1:
执行语句1;
break;
case value2 :
执行语句2;
break;
default:
执行语句n;
break;
}
ブレークが書かれていない場合、ケースは貫通されます。