JavaScriptは(HTML、HTMLはマークアップ言語であるとは異なる)の編集プログラミング言語のフロントエンドで、他のプログラミング言語ので、我々は以下の点から学びます
- 基本的な文法
- データの種類
- 機能
- オブジェクト指向
実際には、完全なダウンロードJavaScriptを3つの異なる部分で構成されています
- コア(ECMAScriptの)
- ドキュメントオブジェクトモデル(DOM)、ドキュメントオブジェクトモデル、JSの統合、CSSとHTML
- ブラウザオブジェクトモデル(BOM)、Broswerオブジェクトモデル、統合されたブラウザとJS
簡単に言えば、ESMAScriptはJavaScript言語自体に関連するコンテンツを記述し、それは次の機能があります。
- JavaScriptはスクリプト言語です
- JavaScriptは、軽量プログラミング言語であります
- JavaScriptは、プログラミングコードをHTMLに挿入することができるです
- 将来のブラウザにJavaScriptは、すべての最新ブラウザで実行することができます
スクリプトタグ内に記述
<!DOCTYPE HTML > < HTML LANG = "EN" > < 頭> < メタ文字コード= "UTF-8" > < メタ名= "ビューポート" コンテンツ= "幅=装置幅、初期の規模= 1.0" > < メタHTTP -equiv = "X-UA-互換" コンテンツ= "IE =縁" > < タイトル>ドキュメント</ タイトル> </ ヘッド> < ボディ> <' 窓の外を遊ぶ' ) </ スクリプト> </ ボディ> </ HTML >
JSは、HTMLに別のファイルとインポートに書きました
ファイル1.jsを書きます
1つの########## の.js ##########
アラート(「ポップアップウィンドウ」)
その後、htmlファイルで、このファイルをインポートすることができます
<!DOCTYPE HTML > < HTML LANG = "EN" > < 頭> < メタ文字コード= "UTF-8" > < メタ名= "ビューポート" コンテンツ= "幅=装置幅、初期の規模= 1.0" > < メタHTTP -equiv = "X-UA-互換" コンテンツ= "IE =縁" > < タイトル>ドキュメント</ タイトル> </ ヘッド> < < 身体> </ ボディ> </ HTML >
注記
// 1行コメント / * 複数行コメント * /
ターミネータ
JavaScriptのセミコロンステートメント(;)終わりますが、C言語の異なる、ターミネータは必要ありませんが、時々間違って行くための提案は、一緒にまだあります。
変数宣言
JavaScriptの変数名はアンダースコア_、数字、タイトル、および$指定子を使用することができますが、数字で始めることはできません。
変数宣言は、declareにVARを使用するとき
VaRの名= '文字列' ; VARの値= 123;
ノートへのもう一つのポイントは、変数名は大文字と小文字が区別されることです。ラクダの命名規則を使用することをお勧めします。
あなたは同じ変数名を格納することができます手段動的型付けされたJavaScriptの変数は、データの異なる種類がありますされています
私が先に言ったようには、JavaScriptを動的型付けされることができます
VaRの X; // Xがunderfinedある VAR。X = 1; // Xは数値である VAR X = 'ABC' // Xが文字列であります
デジタルタイプ
JavaScriptは、一部のint型とfloat型のみデジタルタイプです。
ある 1 = 有する B =午前12時34分が 持つ C = 123E4 た D = 123E4は
別のデータは、番号(非数)ではない、NaNの表し
その一般的な方法で文字列
方法 | 説明 |
.LENGTH | 文字列の長さの値を返します。 |
。トリム() | 削除空白 |
.trimLeft() | 左側の空白を削除します |
.trimRight() | 右側のホワイトスペースを削除します |
.charAt(N) | 戻り値n文字 |
.concat(値、...) | スプライス |
.indexOf(ストリング、スタート) | サブシーケンスの位置 |
.substring(開始、終了) | 取得シーケンスインデックス |
.slice(開始、終了) | スライス |
.toLowerCase() | 小文字に変換 |
.toUpperCase() | 大文字に変換 |
.split(デリミタ、結合) | 分割 |
スライス(スライス)と戻り配列の間の差は(サブストリング)ことに留意されたいです
2間の類似点を見てみましょう:
開始と終了は、空の文字列と等しい場合に返されます
stopパラメータが省略されている場合、文字列は、文字列の末尾に返されます
パラメータは文字列の長さを超えている場合、このパラメータは文字列の長さによって置き換えられます
次に、2つの違いを見て
サブストリングの特徴:
2開始値と終了値の開始>端が交換された場合
パラメータが負の場合、それは0に置き換えられます(-1スライスは、最後の文字の終わりに許可されています)
silceの機能:
もし、スタート>終了の両方が(戻り空の文字列)を交換していないとき
開始が0未満である場合には、スライスの文字列は、文字列の末尾から前方に(位置を含む)低い開始番号を開始しました
最後が0未満である場合には、(この位置は含まない)両端の終了文字番号の先端から仏の自己
セグメンテーション機能
長デリミタ文字列に応じて分割され、それが限界の値であるリストを返します。
ブーリアン
ブールとPythonは真、同じではありませんし、偽は小文字です
var a = true; var b = false;
空字符串(‘’,不是‘ ’)、0、null、underfined、NaN都是false。
数组及其常用方法
数组和Python中的list列表相似,
var a = [0,1,2,3];
看看数组的常用方法
方法 | 说明 |
.length | 数组大小 |
.push(ele) | 尾部追加元素 |
.pop() | 删除末尾元素并返回该值 |
.unshift(ele) | 头部插入元素 |
.shift | 删除第一个元素并返回该值 |
.slice(start,end) | 切片 |
.reverse() | 反转 |
.join(seq) | 连接 |
.concat(val,...) | 将数组元素连接成字符串 |
.sort() | 排序 |
要注意的是几点:
1.不能想Python中的列表一样直接切片
a = [1,2,3,4,5] //注意下面的方法是错误的 a[2:3]
2.join的时候和Python里是反的,先看看Python里的方法
>>> a = ['a','b','c'] >>> '+'.join(a) 'a+b+c'
再看看JS里的方法
a = ['a','b','c'] (3) ["a", "b", "c"] a.join('+') "a+b+c"
3.sort方法的使用事项
如果sort在调用的时候没有参数传入,则会按数组中元素的字符编码的顺序进行排序。
如果想按照其他的标准来进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值,然后返回一个用于说明这两个值相对顺序的数字,比较函数应该具有两个参数a和b,其返回值如下:
若a小于b,在排序后的数组中a应该出现在b之前,则返回一个小于0的值。
若a等于b,则返回0.
若a大于b,则返回一个大于0的值。
>function sortNumber(a,b){ return a-b } <undefined >var a = [1,3,2,4] <undefined >a.sort(sortNumber) <(4) [1, 2, 3, 4]
4.数组的遍历
可以用for循环来对数组进行遍历
>var a = [1,2,3,4] <undefined >for (var i=0;i<a.length;i++){ console.log(i); } VM1843:2 0 VM1843:2 1 VM1843:2 2 VM1843:2 3 undefined
null和underfined
null表示值是空,一般在需要指定或清空一个变量时候才会使用,比方下面的
>name = null <null >name <"null"
而underfined表示当一个变量被声明但没初始化的时候,改变量的默认值为underfined,还有就是函数无明确的返回值时(var一个值但是没有赋值操作),返回的也是underfined。
类型查询可以用下面的方式进行
typeof 'abc' typeof 123 typeof null typeof true
typeof是一个一元运算符,就像++,!,--一样,不是一个函数,也不是一个语句
有些变量或值调用typeof运算后会有下面的返回值
数组、null的返回值是object
undefined的返回值是undefined
算数运算符
+
-
*
、
%
++
--
比较运算符
> >= < <= != == === !==
这里可能对==和===有些疑问,我们看看下面的代码
>1=='1' <true >1==='1' <false
也就是说==是不考虑数据类型的,而===是强等,会对数据类型一同进行比较
逻辑运算符
&& //与 || //或 ! //非
赋值运算符
= += -= *= /=
if-else
>var a=10 >if (a>5){ console.log('yes'); }else{ console.log('no')} <yes
switch判断
switch (day){ case 0: console.log('Sunday'); break; case 1: console.log('Monday'); break; default: console.log('...'); }
通常switch里的case后都会加上break,否则会执行后续case里的语句。
for循环
>var a = [1,2,3,4] <undefined >for (var i=0;i<a.length;i++){ console.log(i); }
这个for循环的结构和C语言中类似。
while循环
var i = 0; while(i<10){ console.log(i); i++; }
和for循环一样,while循环和C语言中的while循环结构一样。
三元运算
var a = 1; var b = 2; var c = a>b?a:b