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()
//parseInt()將字串轉為整數 //parseFloat() 將字串,并回傳一個浮點數, a = "12" console.log(parseInt(a) + 1)//13 console.log(parseFloat(a))//12 q = "1.2asd" console.log(parseInt(q))//1 console.log(parseFloat(q))//1.2 f = 12.3 console.log(parseInt(f))//12 console.log(parseFloat(f))//12.3b = "abc" console.log(parseInt(b))//NaN
var c = parseInt('abc') var b = parseInt('abc') console.log(isNaN(c))//true isNaN判斷c是不是NaN console.log(c == b)//false //NaN與NaN不相等
隱式型別轉換
==、===、減法
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 { //以上都不成立執行var f = 1 switch(f) { case 1: console.log(1)//1 break; case 2: console.log(2) break; default: console.log(3) } var f = 4 switch(f) { case 1: console.log(1) break; case 2: console.log(2) break; default: console.log(3)//3 }
//陳述句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("假") )var a = false;//false if(a){ console.log("真") }else( console.log("假")//假 ) var a = "";//空字串 if(a){ console.log("真") }else( console.log("假")//假 )
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/95352.html
標籤:JavaScript
