Javascript文法,變數類型,條件,迴圈語句,函數,物件導向

來源:互聯網
上載者:User

標籤:布爾類型   浮點數   default   names   closed   switch   pop   init   obj   

1.JavaScript代碼革兩種存在形式:

<!-- 方式一 --><script type=‘txt/javascript‘ src=‘/js/comment.js‘></script><!-- 方式二 --><script type=‘txt/javascript‘>    js代碼內容</script>

方式一可以有效提高代碼的重用性

2、JavaScript代碼存放位置

  • HTML的head中
  • HTML的body代碼塊底部(推薦)

由於Html代碼是從上到下執行,如果Head中的js代碼耗時嚴重,就會導致使用者長時間無法看到頁面,如果放置在body代碼塊底部,上面的html代碼已經載入完成,那麼即使js代碼耗時嚴重,也不會影響使用者看到頁面效果,只是js實現特效慢而已。

 


一、變數

JavaScript中變數的聲明是一個非常容易出錯的點,局部變數必須一個 var 開頭,如果未使用var,則預設表示聲明的是全域變數。

 

<script type="text/javascript">     // 全域變數    name = ‘seven‘;     function func(){        // 局部變數        var age = 18;         // 全域變數        gender = "男"    }</script>

 

JavaScript中代碼注釋:

  • 單行 //
  • 多行 /*  */  注意:此注釋僅在Script塊中生效。  

 

二、資料類型

 

JavaScript 中的資料類型分為原始類型和物件類型:

 

  • 原始類型
    • 數字
    • 字串
    • 布爾值
  • 物件類型
    • 數組
    • “字典”
    • ...

特別的,數字、布爾值、null、undefined、字串是不可變。            

1、數字(Number)

JavaScript中不區分整數值和浮點數值,JavaScript中所有數字均用浮點數值表示。

轉換:

  • parseInt(..)    將某值轉換成數字,不成功則NaN
  • parseFloat(..) 將某值轉換成浮點數,不成功則NaN

特殊值:

  •  NaN,非數字。可使用 isNaN(num) 來判斷。
  • Infinity,無窮大。可使用 isFinite(num) 來判斷。

更多數值計算:

常量Math.E常量e,自然對數的底數。Math.LN1010的自然對數。Math.LN22的自然對數。Math.LOG10E以10為底的e的對數。Math.LOG2E以2為底的e的對數。Math.PI常量figs/U03C0.gif。Math.SQRT1_22的平方根除以1。Math.SQRT22的平方根。靜態函數Math.abs( )計算絕對值。Math.acos( )計算反餘弦值。Math.asin( )計算反正弦值。Math.atan( )計算反正切值。Math.atan2( )計算從X軸到一個點的角度。Math.ceil( )對一個數上舍入。Math.cos( )計算餘弦值。Math.exp( )計算e的指數。Math.floor( )對一個數下舍人。Math.log( )計算自然對數。Math.max( )返回兩個數中較大的一個。Math.min( )返回兩個數中較小的一個。Math.pow( )計算xy。Math.random( )計算一個隨機數。Math.round( )舍入為最接近的整數。Math.sin( )計算正弦值。Math.sqrt( )計算平方根。Math.tan( )計算正切值。
View Code

 

2、字串(String)

字串是由字元組成的數組,但在JavaScript中字串是不可變的:可以訪問字串任意位置的文本,但是JavaScript並未提供修改已知字串內容的方法。

常見功能:

var name = "wupeiqi" ; var name = String( "wupeiqi" ); var age_str = String( 18 );  常用方法:      obj.trim()      obj.charAt(index)      obj.substring(start,end)      obj.indexOf(char)      obj.length
obj.substring(from, to),obj.slice(start, end) 索引取前不取後

3、布爾類型(Boolean)


布爾類型僅包含真假,與Python不同的是其首字母小寫。


  • ==      比較值相等
  • !=       不等於
  • ===   比較值和類型相等
  • !===  不等於
  • ||        或
  • &&      且

4、數組


JavaScript中的數組類似於Python中的列表


常見功能:


 1 obj.length          數組的大小 2   3 obj.push(ele)       尾部追加元素 4 obj.pop()           尾部擷取一個元素並在obj裡刪除 5 obj.unshift(ele)    頭部插入元素 6 obj.shift()         尾部擷取一個元素並在obj裡刪除 7 obj.splice(start, deleteCount, value, ...)  插入、刪除或替換數組的元素 8                     obj.splice(n,0,val) 指定位置插入元素 9                     obj.splice(n,1,val) 指定位置替換元素10                     obj.splice(n,1)     指定位置刪除元素11 obj.slice( )        切片12 obj.reverse( )      反轉13 obj.join(sep)       將數組元素串連起來以構建一個字串14 obj.concat(val,..)  串連數組15 obj.sort( )         對數組元素進行排序

5、序列化

  • JSON.stringify(obj)   序列化
  • JSON.parse(str)        還原序列化
三、語句和異常

1、條件陳述式

JavaScript中支援兩個中條件陳述式,分別是:if 和 switch

    if(條件){     }else if(條件){             }else{     }
    switch(name){        case ‘1‘:            age = 123;            break;        case ‘2‘:            age = 456;            break;        default :            age = 777;    }

2、迴圈語句

JavaScript中支援三種迴圈語句,分別是:

1 var names = ["alex", "tony", "rain"];2  3 for(var i=0;i<names.length;i++){4     console.log(i);5     console.log(names[i]);6 }
方式一
1 var names = ["alex", "tony", "rain"];2 3 for(var index in names){4     console.log(index);5     console.log(names[index]);6 }
方式二
1 while(條件){2     // break;3     // continue;4 }
方式三

3、異常處理

 

try {    //這段代碼從上往下運行,其中任何一個語句拋出異常該代碼塊就結束運行}catch (e) {    // 如果try代碼塊中拋出了異常,catch代碼塊中的代碼就會被執行。    //e是一個局部變數,用來指向Error對象或者其他拋出的對象}finally {     //無論try中代碼是否有異常拋出(甚至是try代碼塊中有return語句),finally代碼塊中始終會被執行。}

 

註:主動跑出異常 throw Error(‘xxxx‘)

 

四、函數

1、基本函數

JavaScript中函數基本上可以分為一下三類:

// 普通函數    function func(arg){        return true;    }          // 匿名函數    var func = function(arg){        return "tony";    }  // 自執行函數    (function(arg){        console.log(arg);    })(‘123‘)

2、物件導向

 

 1 function Foo (name,age) { 2     this.Name = name; 3     this.Age = age; 4     this.Func = function(arg){ 5         return this.Name + arg; 6     } 7 } 8    9 var obj = new Foo(‘alex‘, 18);10 var ret = obj.Func("sb");11 console.log(ret);

 

對於上述代碼需要注意:

  • Foo充當的建構函式
  • this代指對象
  • 建立對象時需要使用 new

上述代碼中每個對象中均儲存了一個相同的Func函數,從而浪費記憶體。使用原型和可以解決該問題:

function Foo (name,age) {    this.Name = name;    this.Age = age;}Foo.prototype = {    GetInfo: function(){        return this.Name + this.Age    },    Func : function(arg){        return this.Name + arg;    }}

 

Javascript文法,變數類型,條件,迴圈語句,函數,物件導向

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.