JavaScript初識

一丶JavaScript的組成  

  1.簡單易用:可使用任何文本編輯工具編寫,只須要瀏覽器就能夠執行程序

  2.解釋執行(執行語言):實現不編譯丶逐行執行丶無需進行嚴格的變量聲明.

  3.基於對象:內置大量現成對象,編寫少許程序能夠完成目標

二丶第一個JavaScript代碼

  在編寫時,咱們須要在body標籤中放入<script type=」text/javascript」></script>標籤對兒,編寫時在這個標籤中編寫

  1.alert語句

    alert用來彈出"警告框"

        <script type="text/javascript">
            alert("你好")
        </script>

  2.語法規則

    1.JavaScript對換行、縮進、空格不敏感。

       備註:每一條語句末尾要加上分號,雖然分號不是必須加的,可是爲了程序從此要壓縮,若是不加分號,壓縮以後將不能運行。

    2.全部的符號,都是英語的。好比括號、引號、分號。

    3.JavaScript的註釋:  //單行註釋    /*  */  多行註釋

  備註:sublime中,單行註釋的快捷鍵是ctrl+/,多行註釋的快捷鍵是ctrl+shift+/

  3.JavaScript在網頁中輸出信息的寫法

        <script type="text/javascript">
            alert("你好")        //彈框輸出
            console.log("你好")   //控制檯輸出
            var a = prompt('今天是什麼天氣?');
            console.log(a)
        </script>

  4.直接量:數字和字符串

  "直接量"即常量,也稱爲"字面量"

    (1)數值的直接量的表達很是簡單,寫上去就行,不須要任何的符號.

    (2)字符串也很簡單,但必定要加上引號.能夠是單詞丶句子等

  5.變量的定義和賦值

    定義:

    var a = 100;

    var就是一個關鍵字,用來定義變量的.關鍵字後面必定要有空格隔開  

PS:在JavaScript中,永遠都是用var來定義變量,這和C、Java等語言不一樣(有興趣的同窗能夠看一下es6)

            var a;  //定義變量
            a = 100;  //賦值變量
            console.log(a)  //輸出變量

    變量的的命名規範:只能由英語字母、數字、下劃線、美圓符號$構成,且不能以數字開頭,而且不能是JavaScript保留字。

    變量的類型跟其餘語言差很少,有   數值型:number   字符串類型:string等,咱們能夠用typeof查看是什麼類型

            var a;  //定義變量
            a = 100;  //賦值變量
            console.log(typeof(a))

  6.連字符和加號的區別

    鍵盤上的+多是連字符,也多是數字的加號.

            console.log("我" + "愛" + "你");   //連字符,把三個獨立的漢字,鏈接在一塊兒了
            console.log("我+愛+你");           //原樣輸出
            console.log(1+2+3);             //輸出6

 

  7.變量格式轉換

    (1)parseInt():字符串轉數字

           var a = "123"
           console.log(typeof(a))
           a = parseInt(a)
           console.log(a)
           console.log(typeof(a))

    帶有自動淨化的功能;只保留字符串最開頭的數字,後面的中文自動消失。

    自動帶有截斷小數的功能:取整,不四捨五入

三丶數據類型

   1.number

        <script type="text/javascript">
            var a = 123;
            //typeof 檢查當前變量是什麼數據類型
            console.log(typeof a)
            //特殊狀況
            var a1 = 5/0;
            console.log(typeof a1) //Infinity 無限大. number類型
        </script>

   2.string

var str  = '123'
console.log(typeof str)

 

  3.boolean

var b1 = false;
console.log(typeof b1)

  4.null

var c1 = null;//空對象. object
console.log(c1)

  5.undefined

var d1;
//表示變量未定義
console.log(typeof d1)

 

四丶運算符

  js中的運算符跟Python中的運算符有點相似,但也有不一樣.所謂運算,在數學上,是一種行爲,經過已知量的可能的組合,得到新的量.

  1.賦值運算符

  2.算數運算符

  3.比較運算符

  4.特殊狀況

    字符串拼接+字符串運算

var  firstName  = '小';
var lastName = '馬哥';
var name = '伊拉克';
var am = '美軍';
// 字符串拼接
var str = "2003年3月20日,"+name+"戰爭爆發,以美軍爲主的聯合部隊僅用20多天就擊潰了薩達姆的軍隊。這是繼十多年前的海灣戰爭後,"+am+"又一次取得的大規模壓倒性軍事勝利。"
var fullStr = str;
console.log(fullStr)

var fullName = firstName +" "+ lastName;
console.log(fullName)
// 不能對字符串進行+運算 只能拼接
var a1 = '1';
var a2 = '2';
console.log(a1-a2) //12
var b1 = 'one';
var b2  = 'two';

// NaN. ==== not a number 是number類型
console.log(typeof(b1*b2))

 

五丶數據類型轉換

  1.隱式轉換

        <script type="text/javascript">
            var a1 = 123;
            var a2 = '123';
            var a3 = a1+a2;
            console.log(typeof(a3))
        </script>

  2.強制類型轉換

        <script type="text/javascript">
            // 強制類型轉換String(),toString()
            var n1 = 123
            var str1 = String(n1);
            console.log(typeof str1);
            
            var num = 234;
            console.log(num.toString())
        </script>

  3.將字符串類型轉換成數值類型

        <script type="text/javascript">
            var  stringNum = '789.123wadjhkd';
            var num2 =  Number(stringNum);
            console.log(num2)
            
            // parseInt()能夠解析一個字符串 而且返回一個整數
            console.log(parseInt(stringNum))
            console.log(parseFloat(stringNum));
        </script>

  4.任何數據類型均可以轉換成boolean類型

        <script type="text/javascript">
            var b1 = '123';
            var b2 = 0;
            var b3 = -123
            
            var b4 = Infinity; 
            var b5 = NaN;
            
            var b6; //undefined
            var b7 = null;
            
            // 非0既真
            console.log(Boolean(b7))
        </script>

 

六丶流程控制

  JavaScript的流程控制相似於C,跟Python也差很少,稍微有點差異

  1.if丶if-else丶if-else if-else

        <script type="text/javascript">
            var a = 10;
            if(a < 5){
                console.log("5分")
            }
            else if(a == 10){
                console.log("10分")
            }
        </script>

 

if (true) {
   //執行操做
}else if(true){
    //知足條件執行            
}else if(true){
   //知足條件執行        
}else{
  //知足條件執行
}

 

  2.邏輯與&&丶邏輯或||

        <script type="text/javascript">
            var a = 10;
            var b = 9;
            //邏輯與&& 兩個條件都成立的時候 才成立
            if(a > 5 && b < 10){
                console.log("太棒了")
            }
            else{
                console.log("垃圾")
            }
        </script>
        <script type="text/javascript">
            var a = 12;
            var b = 10;
            //邏輯或  只有有一個條件成立的時候 才成立
            if(a<5 || b >6){
                console.log("太棒了")
            }
            else{
                Console.log("垃圾")
            }
        </script>

  3.switch

        <script type="text/javascript">
            var gameScore = 'better';

            switch(gameScore){
            
            //case表示一個條件 知足這個條件就會走進來 遇到break跳出。break終止循環。若是某個條件中不寫 break,那麼直到該程序遇到下一個break中止
                case 'good':
                console.log('玩的很好')
                //break表示退出
                break;
                case  'better':
                console.log('玩的老牛逼了')
                break;
                case 'best':
                console.log('恭喜你 吃雞成功')
                break;
            
                default:
                console.log('很遺憾')
            
            }
        </script>

  4.while循環

  循環三步走:

    (1)初始化循環變量

    (2)判斷循環條件

    (3)更新循環變量

var i = 1; //初始化循環變量

while(i<=9){ //判斷循環條件
    console.log(i);
    i = i+1; //更新循環條件
}

  5.do-while

//無論有沒有知足while中的條件do裏面的代碼都會走一次
var i = 3;//初始化循環變量
do{

    console.log(i)
    i++;//更新循環條件

}while (i<10) //判斷循環條件

  6.for循環

for(var i = 1;i<=100;i++){
    if(i%2==0){
        //是偶數
        console.log(i)
    }
}

 

七丶經常使用內置對象

  1.數組Array

    (1)數組的建立

var colors = ['red','color','yellow'];

 使用構造函數的方式建立

  var colors2 = new Array();

 

    (2)數組的賦值

var arr = [];
//經過下標進行一一賦值
arr[0] = 123;
arr[1] = '哈哈哈';
arr[2] = '嘿嘿嘿'

    (3)數組的經常使用方法

    (4)數組的合併 concat()

var north = ['北京','山東','天津'];
var south = ['東莞','深圳','上海'];
        
var newCity = north.concat(south);
console.log(newCity)

 

     (5) join() 將數組中的元素使用指定的字符串鏈接起來,它會造成一個新的字符串

var score = [98,78,76,100,0];
var str = score.join('|');
console.log(str);//98|78|76|100|0

    (6)將數組轉換成字符串 toString()

var score = [98,78,76,100,0];
//toString() 直接轉換爲字符串  每一個元素之間使用逗號隔開
           
var str = score.toString();
console.log(str);//98,78,76,100,0

    (7)slice(start,end); 返回數組的一段,左閉右開

var arr = ['張三','李四','王文','趙六'];
var newArr  = arr.slice(1,3);
console.log(newArr);//["李四", "王文"]

 

     (8) pop 移除數組的最後一個元素

var arr = ['張三','李四','王文','趙六'];
var newArr  = arr.pop();
console.log(newArr);//["張三", "李四","王文"]

    (9) push() 向數組最後添加一個元素

var arr = ['張三','李四','王文','趙六'];
var newArr  = arr.push('小馬哥');
console.log(newArr);//["張三", "李四","王文","趙六","小馬哥"]

 

     (10)reverse() 翻轉數組

var names = ['alex','xiaoma','tanhuang','angle'];
       
//4.反轉數組
names.reverse();
console.log(names);

 

     (11)sort對數組排序

var names = ['alex','xiaoma','tanhuang','abngel'];
names.sort();
console.log(names);// ["alex", "angle", "tanhuang", "xiaoma"]

 

     (12) 判斷是否爲數組:isArray()

 布爾類型值 = Array.isArray(被檢測的值) ;

 

   2.字符串String

    (1)chartAt() 返回指定索引的位置的字符

var str = 'alex';
var charset = str.charAt(1);
console.log(charset);//l

    (2)oncat 返回字符串值,表示兩個或多個字符串的拼接

var str1 = 'al';
var str2  = 'ex';
console.log(str1.concat(str2,str2));//alexex

 

     (3)replace(a,b) 將字符串a替換成字符串b

var a = '1234567755';
var newStr = a.replace("4567","****");
console.log(newStr);//123****755

    (4) indexof() 查找字符的下標,若是找到返回字符串的下標,找不到則返回-1 。跟seach()方法用法同樣

var str = 'alex';
console.log(str.indexOf('e'));//2
console.log(str.indexOf('p'));//-1

    (5)slice(start,end) 左閉右開 分割字符串

var str = '小馬哥';
console.log(str.slice(1,2));//

    (6)split('a',1) 以字符串a分割字符串,並返回新的數組。若是第二個參數沒寫,表示返回整個數組,若是定義了個數,則返回數組的最大長度

var  str =  '個人天呢,a是嘛,你在說什麼呢?a哈哈哈';
console.log(str.split('a'));//["個人天呢,", "是嘛,你在說什麼呢?", "哈哈哈"]

 

     (7)substr(statr,end) 左閉右開

var  str =  '個人天呢,a是嘛,你在說什麼呢?a哈哈哈';
console.log(str.substr(0,4));//個人天呢

 

    (8) toLowerCase()轉小寫

var str = 'XIAOMAGE';
console.log(str.toLowerCase());//xiaomage

 

    (9) toUpperCase()轉大寫

var str = 'xiaomage';
console.log(str.toUpperCase());

 

    (10)特殊

//1.將number類型轉換成字符串類型
var num = 132.32522;
var numStr = num.toString()
console.log(typeof numStr)

 

//四捨五入
var newNum = num.toFixed(2)
console.log(newNum)

  3.Date日期對象

    建立日期對象只有構造函數一種方式,使用new關鍵字

//建立日期對象
var myDate=new Date();
        
//獲取一個月中的某一天
console.log(myDate.getDate());

//返回本地時間
console.log(myDate().toLocalString());//2018/5/27 下午10:36:23

  4.Math 內置對象

    (1)Math.ceil() 向上取整,'天花板函數'

var x = 1.234;
//天花板函數  表示大於等於 x,而且與它最接近的整數是2
var a = Math.ceil(x);
console.log(a);//2

    (2)Math.floor 向下取整,'地板函數'

var x = 1.234;
// 小於等於 x,而且與它最接近的整數 1
var b = Math.floor(x);
console.log(b);//1

 

     (3)求兩個數的最大值和最小值

//求 兩個數的最大值 最小值
console.log(Math.max(2,5));//5
console.log(Math.min(2,5));//2

    (4) 隨機數 Math.random()

var ran = Math.random();
console.log(ran);[0,1)

 八丶函數

    函數:就是將一些語句進行封裝,而後經過調用的形式,執行這些語句。   

    函數的做用:

      • 將大量重複的語句寫在函數裏,之後須要這些語句的時候,能夠直接調用函數,避免重複勞動。

      • 簡化編程,讓編程模塊化。

  console.log("hello world");
    sayHello();     //調用函數
    //定義函數:
    function sayHello(){
        console.log("hello");
        console.log("hello world");
    }

 

  1.函數的定義

解釋以下:

  • function:是一個關鍵字。中文是「函數」、「功能」。

  • 函數名字:命名規定和變量的命名規定同樣。只能是字母、數字、下劃線、美圓符號,不能以數字開頭。

  • 參數:後面有一對小括號,裏面是放參數用的。

  • 大括號裏面,是這個函數的語句。

  2.函數的調用

函數名字();

  3.函數的參數:形參和實參

    函數的參數包括形參和實參

    注意:實際參數和形式參數的個數,要相同。

 sum(3,4);
        sum("3",4);
        sum("Hello","World");

        //函數:求和
        function sum(a, b) {
            console.log(a + b);
        }

 

  4.函數的返回值

console.log(sum(3, 4));

        //函數:求和
        function sum(a, b) {
            return a + b;
        }
相關文章
相關標籤/搜索