1. 程式人生 > 其它 >JavaScript 基礎講解

JavaScript 基礎講解

技術標籤:javascriptjs

文章目錄

書寫方式

1.內嵌式
使用的是Script標籤,該標籤可以寫在html文件中的任何位置
【強調】一般情況下,我們應該將其寫在head標籤中。

2.外鏈式
通過script標籤的src屬性,引入外部的js檔案。

3.常見錯誤寫法:

<script src="js/demo.js">
        alert("看看能不能出現");
    </script>

注: 不要在同一個Script標籤中同時使用內嵌式與外鏈式。

如果設定了src屬性,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) 

在這裡插入圖片描述
在這裡插入圖片描述