一、基本類型和引用類型
基本類型:number(數字)、string(字符)、boolean(布爾)、undefined(賦值)、null(空)
引用類型:array(數組)、object(對象)、function(函數)
區別:基本類型只傳值。引用類型既傳值,也傳址。
二、
所有 JavaScript 全局對象、函數以及變量均自動成為 window 對象的成員。
全局變量是 window 對象的屬性。
全局函數是 window 對象的方法。
三、數據類型的轉換
1、自動轉換,不需要程序員干預,JS自動完成的類型轉換,僅討論算術計算中的自動轉換
A、算術計算中,一切數據都默認轉為數字,在計算。
Boolean類型:true=1 false=0特殊情況:
如果數據無法被轉為數字類型會被轉為NaN
NaN不等于,不大于,不小于任何值
NaN參與任何算數運算結果永遠為NaN
B、在+運算中,碰到字符串,+就變為字符串拼接
另一個不是字符串的數據,被自動轉為字符串
<script>
/*boolean,string*/
var a=true; //1
var b=false; //0
// console.log(b+1)
var c="hello";
var d=c+1;
console.log(typeof d)
</script>
2、強制轉換
①、任意類型轉換為字符串
<script>
var a=1;
// a.toString
// String(a)
console.log(typeof String(a))
</script>
②、任意類型轉換為數字
首字母必須是數字,只要碰到一個非數字字符就停止,自動跳過開頭的空各符。
<script>
var a=true;
/*Number()
* */
var b="12";
console.log(Number(a));
console.log(Number(b));
</script>
③、任意類型轉換為Boolean
只有傳“ 0,NaN,null,"空格",undefined”為false,其他都為true。
<script>
/*0,NaN,null,"",undefined*/
var a="hello";
console.log(Boolean(a))
</script>
④、數字轉換為整數或浮點數(parse)
<script>
/*將字符串轉換為數字
首字母必須是數字
* */
var a="12px343";
var b=parseInt(a);
console.log(b);
var c="12.34px";
console.log(parseFloat(c));
</script>
四、運算
1、算術運算(+,-,,/,%,++,--)(前加加:先自增,后給值。后加加:先給值,后自增。)
2、賦值運算(=,+=,-=,=,/=,%=)
3、比較運算(>,<,==,>=,<=,!=)
4、邏輯運算(&&,||,!)或與非五、mouse鼠標事件
this 是指在事件中,表示執行事件的當前對象。
<script>
var test=document.getElementById("test");
test.onmouseover=function(){
this.style.backgroundColor="pink";
};
test.onmouseout=function(){
this.style.backgroundColor="red";
}
</script>
六、if else 和switch case
if else(如果滿足條件,否則。)
<script>
var a=10;
var b=20;
/*分支語句*/
if(a>b){
console.log("a大于b")
}else if(a==b){
console.log("a=b")
}else{
console.log("a小于b")
}
</script>
switch case
<script>
var name="chengchao";
switch (name)
{
case "h":
console.log("a>b");
break;
case "hllo":
console.log("a==b");
break;
case "chengchao":
console.log("a<b");
break;
default:
console.log("都不符合");
}
</script>