javascript的基礎
- 2020 年 5 月 8 日
- 筆記
- javascript
js的組成
ECMAScript:解釋器(翻譯)
DOM:Document Object Model (操作HTML的能力)
BOM:Browser(l瀏覽器) Object Model
變數類型
類型:typeof運算符
用法、返回值
常見類型:number、string、boolean、undefined、object、function
(一個變數應該只存在一種類型的數據)
a = 10 console.log(typeof a)//number 數字
b = "你好" console.log(typeof b)//string 字元串
c = true console.log(typeof c)//boolean: true false
d = function(){} console.log(typeof d)//function 函數
var f; console.log(typeof f) //f 1、沒有定義 undefined 2、定義,沒賦值 g = {} console.log(typeof g)//object 對象
數據類型轉換:
顯示類型轉換(強制類型轉換)
parseInt()、parseFloat()
隱式類型轉換
==、===、減法
a = 5 b = "5" console.log(a == b)//true 先轉換類型,然後比較 console.log(a === b)//false 不轉換,直接比(嚴謹) c = "12" d = "5" console.log(c + d)//125 加號字元串的鏈接 數字的相加 console.log(c - d)//7 減號數字相減
變數作用域
全局變數、局部變數
局部變數:只能在定義他的函數裡面使用
function a(){ //局部變數:只能在定義他的函數裡面使用 var b = 12; console.log(b)//12 } function c(){ console.log(b)//報錯 } a() c()
var b;//全局變數 function a() { b = 12; console.log(b)//12 } function c() { console.log(b)//12 } a() c()
閉包
//閉包:子函數可以使用父函數的局部變數 function aa(){//父函數 var a = 10; function bb(){//子函數 console.log(a)//10 } bb(); } aa();
運算符
算數:+加、-減、*乘、/除、%取余


賦值:=、+=、-=、*=、/=、%=
關係:<、>、<=、>=、=、==、===、!=、!==
邏輯:&&與、||或、!否(真假互換)
運算符優先順序:括弧
判斷:if、switch、?:(三目運算符)
if (滿足條件1) { //執行語句1 } else if (滿足條件2) { //執行語句2 } else { //以上都不成立執行
//語句n } switch(變數) { case 值1: //變數=值1執行 //語句1 break; case 值2: //變數=值2執行 //語句2 break; case 值3: //變數=值3執行 //語句3 break; //...... default: //以上都不滿足執行 //語句n }
條件?語句1:語句2(三目運算符)
//三目運算符 var a = 44; a%2 ? console.log("單數") : console.log("雙數")//雙數

循環:while、for
跳出:break、continue
for(var i = 0;i < 5;i++){ if(i == 3){ break;//整個循環中斷跳出 } console.log(i)//0、1、2 }

continue
for(var i = 0;i < 5;i++){ if(i == 3){ continue;//本次循環中斷,後面繼續 } console.log(i)//0、1、2、4 }

真:true、非零數字、非空字元串、非空對象
假:false、數字零、空字元串、空對象、undefined
var a = true;//true、非零數字、非空字元串、非空對象
if(a){ console.log("真")//真 }else( console.log("假") )


