JavaScript 基礎講解
技術標籤:javascriptjs
文章目錄
書寫方式
1.內嵌式
使用的是Script標籤,該標籤可以寫在html文件中的任何位置
【強調】一般情況下,我們應該將其寫在head標籤中。
2.外鏈式
通過script標籤的src屬性,引入外部的js檔案。
3.常見錯誤寫法:
<script src="js/demo.js">
alert("看看能不能出現");
</script>
注: 不要在同一個Script標籤中同時使用內嵌式與外鏈式。
4.外鏈式的優點
1.提高程式碼的複用性。
2.提高網頁的載入速度
5.註釋
//單行註釋 ctrl+/
/*
多行註釋
*/
輸出
1. alert 翻譯:警報
用途:彈出警告框。
格式:
alert('彈出內容');
2.console.log(); 在控制檯輸出
console.log("春田花花幼稚園");
3.document.write(“輸出內容”);在頁面中輸出
document.write("春田花花幼稚園")
也可以為其加上標籤:
document. write("<em>春田花花幼稚園</em>")
body中會出現相應的標籤
語法
- 語句:執行行為的語法結構和命令。
通俗的說:語句是為了完成某個目的而進行的操作。
語句以;結尾,一個分號就表示一個語句結束了。
可以將多個語句寫在同一行,但是每個語句獨佔一行可以調高程式碼的可讀性。 - 分號:當存在換行時,分號可以省略,但是不推薦這樣做,因為若js檔案被壓縮,會出現錯誤。
變數
變數的定義和賦值:
1.定義(宣告)。 使用var關鍵字來定義變數。 var 後面跟一個空格,然後是變數名。
2.賦值。 = 等於賦值 將=右邊的值賦給左邊。
變數要先定義,再使用
1.宣告變數,沒有賦值,直接使用,不會報錯,但是結果是undefined(未定義)。
2.沒有宣告變數,直接使用,報錯。
變數宣告提升,執行順序:
var a;
var b;
alert(a);
識別符號:
使用者自定義的名字叫做識別符號。變數名是識別符號。函式名也是識別符號。
1.識別符號可以由任一的大小寫字母,數字,下劃線_和美元符($)組成,但是不能以數字開頭.
2.識別符號區分大小寫。強烈不建議使用同一個單詞的大小寫來區分兩個變數。
3.見名知意
4.不要使用js的保留字與關鍵字
關鍵字:js具有一些功能性的詞語。
abstract、enum、int、short、boolean、export、interface、static、byte、extends、long、super、char、final、native、synchronized、class、float、package、throws、const、goto、private 、transient、debugger、implements、protected 、volatile、double、import、public。
保留字:目前沒有特殊功能,但是js保留下來可能以後使用。
abstract、 arguments、 boolean、 break byte、
case、 catch、 char class*、 const、
continue、 debugger、 default、 delete、 do、
double、 else、 enum*、 eval、 export*、
extends* 、false、 final 、finally、 float、
for、 function、goto if、 implements、
import*、 in、 instanceof、 int、 interface、
let、 long、 native、 new、 null、
package、 private、 protected、 public、 return、
short、 static、 super*、 switch、 synchronized、
this、 throw、 throws、 transient、 true、
try、 typeof、 var、 void、 volatile、
while、 with、 yield、
可以將宣告與賦值寫在一起
var userName = "春田花花幼稚園";
//var userName;
// userName = "春田花花幼稚園";
一個var可以宣告多個變數,變數名之間使用逗號隔開。
var a,b,c;
a="a";
b="b";
alert(b);
資料型別
八大資料型別:
- 數值 number 整數和小數(浮點數)
- 字串string “字串”
- 布林值boolean ture flase
- undefined 未定義
- null 空值
- object 物件
- array 陣列
- function 函式
原始型別(簡單資料型別):
- number
- string
- boolean
引用資料型別
- object
- array
- function
特殊值 - undefined
- null
number 型別
number
- 整數和浮點數(有理數)(無限不迴圈小數:無理數)
- 浮點數不是精確的值,涉及小數的計算和比較時一定要小心。
- js內部,所有的數字都是以64位的浮點數形式儲存的。
數值範圍:
±9007199254740991
數值的表示方式
科學計數法:12300 123*10的二次方 123e2
有兩種情況,js會自動將數值轉換為科學計數法
- 小數點的數字多於21位。
- 小數點後緊跟5個以上的零。
數值的進位制
console.log/alert中,會將其他進位制的數字預設轉為10進位制。
二進位制 0 1
十進位制 0-9
八進位制 0-7 有字首為0o或0O的數值。
十六進位制 0-9 a-f 字首為0x或0X的數值
15 * 16 + 15 * 1
特殊數值
NaN:not a number 這不是一個數字。主要出現在字串轉數字出錯的場合。
NaN與任何數(包括自身)的運算,得到的都是NaN。
Infinity 表示:無窮
**+Infinity:**無窮大
-Infinity :無窮小。
string型別
字串:
字串是由零個或多個排列在一起的字元,放在單引號或雙引號之中。
‘a’
單引號與雙引號可以巢狀使用。
如果想要在雙引號中使用雙引號,可以再巢狀的雙引號前面加反斜槓 /
錯誤寫法
var str = "1 2
3";
轉義:
一些特殊字元需要轉義才能在js中使用。
轉義字元為:
\\ n 表示換行
\\ 表示
\\ 製表符
\x (ASCII碼)
操作字串:
str.length 長度
var str = 'helloworld'
console.log(str.length);
str[下標] 獲取單個字元。
var str = 'helloworld'
console.log(str[4]);
str.toUpperCase() 將英文字元專為大寫。
var str = 'helloworld'
console.log(str.toUpperCase());
toLowerCase()將英文字元專為小寫。
var str = 'HELLOWORLD'
console.log(str.toLowerCase());
indexOf:(“引數”)返回字串中指定字元的位置(下標)。
var str = 'HELLOWORLD'
console.log(str.indexOf('W'));
substring():返回指定區域的字串
var str = 'HELLOWORLD'
console.log(str.substring(5));
其他型別
特殊值:
- null 空值
- undefined 未定義 只宣告未賦值時。
布林值:
- true false
- 只要用於流程控制語句。
型別檢測: typeof
型別轉換。
強制型別轉換
1. Number()數值轉換:
各個屬性轉換結果為:
console.log( Number(true))
console.log( Number(false))
console.log( Number(null))
console.log( Number(undefined))
console.log( Number("aaa"))
console.log( Number("123"))
轉換結果:
注:可以解析的,轉換成相應的數值;不能解析的,返回值為NaN;"" 返回值是0。
字串專用的有:
parseInt();
//有小數點的話會捨去小數點後方的數字進行取整。
//如果內部有數字和其他值混搭的話,如果數字在前,就會將第一個字母前面的數字解析出來;
//如果內部第一個不為數值,解析值則為NaN;
parseFloat();
//可以全部顯示小數點
String() 將任意型別的值專為字串
console.log(typeof String("123"));
console.log(typeof String("aaa"));
console.log(typeof String("ture"));
console.log(typeof String("false"));
console.log(typeof String("null"));
console.log(typeof String("undefined"));
Boolean型別轉換
數值:非0即真。
字串:’'為false,其他都為true
下面這五個值會轉為false,其餘都為true。
- 0
- null
- undefined
- “”
- NaN
自動轉換
其他資料型別轉字串
任何型別的資料和字串型別的資料做相加操作 (+)
+ 並不是算數運算,而是字串拼接。
此時其他的資料型別會自動轉為字串
var sun;
sun = 3 + "9";
console.log(sun);
console.log(typeof sun);
其他型別轉數字
除了字串與數字做相加運算外,其他會自動轉數字進行運算。
NaN undefined 運算結果為NaN
NaN與任何型別做運算都為NaN ,包括它自身。
var sun;
sun = 3 * "9";
console.log(sun);
console.log(typeof sun);
其他資料轉布林
下面這五個值會轉為false,其餘都為true
- 0
- null
- undefined
- “”
- NaN
使用者輸入
prompt()
prompt(title,[default])
title 是給使用者顯示的文字。
[default] 中括號表示引數是可選的, default 預設值
var name = prompt('請輸入您的名字','張三');
confirm(問題)
點選確定返回 true 點選取消 返回false
var name = prompt('請輸入您的名字','張三');
var verification = confirm('您的名字叫做:' + name)