變量:用來記錄字符,數字以及其他東西的而且表示這些東西的東西
變量的使用
1.聲明變量
var a;
2.賦值變量
a=3;
3.使用變量
alert(a);
1聲明變量和賦值變量可以寫在一起,叫做變量的定義
var a = 10;
2.使用變量
alert(2);
2.1通過控制臺打印輸出
console.log(a);
2.2變量定義可以寫在一行
var a = 10, b = 20, c = 30;
3變量命名
1.變量命名:從語法意義上的規范:只能以數字.字符下劃線以及$符號組成,不能以數字開頭,不能喝保留字重名
2.從形式上:變量是一他的實際意思的英文命名,而且采用駝峰命名法,如果一個變量是由有多個單詞組成,那么從第二個單詞的第一個字母要大寫 ?eg:lastName
var a = 10;
var _= 20;
var $ = 30;
var a_3 = 20;
4.變量的類型
4.變量的類型
種類:1.數值 2.字符 3.布爾 4.對象 5.未定義
//數值
var num_1 = 20.1;
var num_2 = 30;
console.log(typeof num_1);
console.log(typeof num_2);
//2.字符:單凡用單引號引起來的都是字符
var sym_1 = '20';
var sym_2 = '30';
console.log(typeof sym_1);
console.log(typeof sym_2);
//3.布爾,就是判斷值,只有兩個值 一個true,一個false
var flag_1 = true;
var flag_2 = false;
console.log(typeof flag_1);
console.log(typeof flag_2);
//4.對象類型
var obj = null;
console.log(typeof obj);
//5.未定義類型:凡是系統無法識別的類型就是未定義類型
var und = undefined;//var und;
console.log(typeof und);
5.運算符的認識
1.運算符:用來連接變量的符號就是運算符
//種類:1.算術運算符 2.關系運算符 3.邏輯運算符
2.提升優先級(用括號)
3.關系運算符(>_<)
3.1關系運算符的結果都是布爾值
? console.log(num1 < num2);
3.2>=滿足其中一個條件即可
3.3等于(==)比較的是值相等,全等(===)比較的是值和類型相等
3.34關系運算符不能連續使用
4.邏輯運算符的認識 &&, ||, !
5.數據類型和布爾值之間的轉化
5.1對于數值類型來說,只有0轉化成布爾是false
5.2對于字符類型:只有空字符是false
5.3對于對象類型如果是空對象,那么他是false
var obj = null;
console.log(Boolean(obj))
5.4未定義類型都是false
6.布爾類型轉化數字
var flag1 = true;
var flag2 = false;
console.log(Number(flag1));
console.log(Number(flag2));
//對于布爾類型轉化成數值,true對應的是1,false是0
7.優先級
算術運算符>關系運算符>邏輯運算符(&&>||)
8.if
if{判斷條件1? }else{? ? };
if{ 判斷條件1? }else i{? ? }else if{? ? }else{? ? };
多重if語句的阻斷現象-----對于多重if語句,阻斷現象:如果一個條件判斷成立,那么后面所有的條件都不會判斷執行;
阻止阻斷現象就是直接去掉else--
-if{? 判斷條件1? }if{? ? }else{? ? };
9.switch語句
switch:switch(變量或者值){case '值1':如果符合值1執行代碼 break; case '值二':如果值二滿足條件就執行代碼;break
//? ? default:如果都不滿足就執行代碼
var weekDay = 0;
switch (weekDay){case 0:alert('星期日');break;
case 1:alert('星期一');break;
default:alert('不是對應的日期');
? ? ?};
10.循環語句
for(初始化條件;終止條件;變化值){每次循環執行的代碼}
for(var i = 0; i <= 100;i ++){ ?console.log(year); ? ?}
//循環的本質:首先根據初始化條件,然后和終止條件判斷,如果符合終止條件,就執行大括號中的代碼,然后根據變化值讓對應的值進行變化,繼續和終止條件判斷,如果符合就繼續執行大括號中的代碼,知道終止條件不滿足,停止循環
10.1嵌套if語句
11.死循環
for(vari =0;true;i++){console.log(i);}//一般實際開發中不能寫死循環
12.while循環
while:while(判斷條件){如果條件成立就執行這里的代碼}
13.函數的認識
1.函數:就是一堆代碼的集合用來說明某一個功能
函數使用 1.定義函數 2.調用函數
1.function 函數名(){
}
調用函數(必須回調)eg:函數名()
2.var 函數名=function(){
}
函數名()
14.函數的參數
函數的參數:根據實際需求可能在函數中使用的變量
//函數參數類型:形式參數簡稱形參:在函數定義的時候放在小括號中的變量就是形式參數
//實際參數:簡稱實參:就是在函數調用的時候傳入的實際的值
function sum(a,b) {//a,b是形參,可以是任何值
alert(a + b);
}
sum(1,2);
15.函數的返回值
15.1使用return可以把函數的值返回
15.2在函數中如果使用了return,會直接結束函數,rerun后面的代碼都不會執行
function sum(a,b) {return? a + b;}
var result = sum(100,100);//2.調用函數
console.log(result);
if(result >100) { ?alert('你們花費太多' ) }else{ ?alert ('大家下年繼續努力花');}
16.函數參數傳遞的時候的一些特點
函數實參可以和形參不一樣,而且可以返回對應的結果,如果實參大于形參,會把對應的多出的參數去掉,顯示最終的結果
function sum(a,b) {
console.log(sum.length);//形參
console.log(arguments.length);//實參
return a + b;
}
var result = sum(5,5,6,7);
console.log(result);
17.變量
變量根據位置的分類
var num1 = 20;
function showMessage() { ?var num1 = 30;?console.log(num1); ?}
console.log(num1);//20
? ?showMessage();//30
變量根據位置的分類:
全局變量:定義在函數外面的變量就是全局變量 ;局部變量:定義在函數內部的變量就是局部變量
//局部變量的作用域:就是只是在函數體的內部起作用
//全局變量:在頁面中都起作用
變量訪問(使用)的原則
:就近原則,就是如果在函數中訪問一個變量,那么會先看函數中有沒有定義這個變量,如果有,就訪問這個這個變量,如果沒有,就去頁面中找,如果頁面中也沒有,就返回沒有定義
變量聲明的提升
如果在函數中訪問了一個在函數訪問之后定義的變量,那么會把這個變量的聲明提升到函數的最前面。
function showM() {
var num;//提升
console.log(num);//undefined; ? var num = 100; //本身 ?console.log(num);//100 ? ? }
showM();
18.常見數學函數的認識
1.轉化整數的函數
注意:parseInt會只是截取整數部分,不管小數是什么,都不用管,而且可以截取數值字符,只是截取數值部分其余不管 ? ?------數值字符第一個字符必須是數字
var num1 = 5.8;
var num2 = parseInt(num1);
console.log(num2);//5
var sym = 'px5';
console.log(parseInt(sym));//nan
2.求一個數字的幾次方的函數,表示3d的三次方
var num3 = Math.pow(3,3);
console.log(num3);//27
3.求平方根,只是求出正的平方根
var num4 = Math.sqrt(25);
console.log(num4);//5
4.彈出輸入框,這個函數會返回輸入的內容,這個函數的返回值永遠都是字符
var result =? prompt('請輸入內容');
console.log(result);//null
console.log(typeof result);//object
5.四舍五入函數
var num5 = 4.1;
console.log(Math.round(num5));//4