JS基礎--定義 資料類型 數學時間函數 數組

來源:互聯網
上載者:User

標籤:排序   mil   輸出   最小   個數   ==   命名規範   document   tar   

  • 定義

基於事件和對象驅動,並具有安全效能的指令碼語言,在用戶端運行。

  • 引用

內嵌:在HTML任何一個位置<script  type=”text/javascript”>具體js代碼</script>

外部:<script  type=”text/javascript” src=”js檔案”></script>

  • 代碼大小寫敏感:“a”與“A”不是一個類型;單行注釋用//;多行注釋用/*  */。
  • 輸出文法

彈窗形式    alert();

alert("11111");

 


console.log();控制台輸出,一般作為調試輸出語句

console.log("123")

 


prompt() 方法用於顯示可提示使用者進行輸入的對話方塊

prompt("請輸入");

 


document.write()   在html文檔中列印出來

document.write("你好");

 

  • 變數   

定義: 其值可以發生改變的量就是變數。

命名:var 變數名 = 

命名規範 :字母、數字、底線、$符號 等4個組成部分,數字不能作為名字的開始內容。 駝峰法命名:第一個單詞以小寫字母開始;從第二個單詞開始以後的每個單詞的首字母都採用大寫字母。

  • 資料類型

有6種:數字  number(int/float)字元  string 布爾  boolean 未定義  undefined 物件導向  object(數組是對象的一部分)null類型:Null 物件類型。
typeOf():輸出變數的類型

var a = 10;var b = "asd";alert(typeof(a));alert(typeof(b));

 


    資料類型的相互轉換
1)Number轉換:

注意:

a) 如果轉換的內容本身就是一個數實值型別的字串,那麼將來在轉換的時候會返回自己。

b) 如果轉換的內容本身不是一個數實值型別的字串,那麼在轉換的時候結果是NaN.

c) 如果要轉換的內容是空的字串,那以轉換的結果是0.

d) 如果是其它的字元,那麼將來在轉換的時候結果是NaN.

2)parseInt():

a) 忽略字串前面的空格,直至找到第一個非Null 字元,還會將數字後面的非數位字串去掉。

b) 如果第一個字元不是數字記號或者負號,返回NaN

c) 會將小數取整。(向下取整)

3)parseFloat();//浮點數(小數)

與parseInt一樣,唯一區別是parseFloat可以保留小數。

b.轉字串

可以將其它的資料類型轉成字串。

1)String():

2)toString()的方法來進行轉換(封裝類)。注意:undefined,null不能用toString。

  • 數學函數

定義執行普通的算數任務。
隨機數Math.random() 可返回介於 0 ~ 1 之間的一個隨機數。
最大數Math.max返回指定的數中帶有較大的值的那個數
最小數Math.min返回指定的數中帶有較大的值的那個數
圓周率Math.PI

  • 日期時間函數

擷取目前時間:var myDate = new Date();//擷取系統目前時間

var myDate = new Date();alert(myDate);

 

擷取年月日
1 myDate.getYear(); //擷取當前年份-1900的值(3位)
 2 myDate.getFullYear(); //擷取完整的年份(4位,1970-????)
 3 myDate.getMonth(); //擷取當前月份(0-11,0代表1月)
 4 myDate.getDate(); //擷取當前日(1-31)
 5 myDate.getDay(); //擷取當前星期X(0-6,0代表星期天)
 6 myDate.getTime(); //擷取目前時間(從1970.1.1開始的毫秒數)
 7 myDate.getHours(); //擷取當前小時數(0-23)
 8 myDate.getMinutes(); //擷取當前分鐘數(0-59)
 9 myDate.getSeconds(); //擷取當前秒數(0-59)
10 myDate.getMilliseconds(); //擷取當前毫秒數(0-999)
11 myDate.toLocaleDateString(); //擷取當前日期
12 var mytime=myDate.toLocaleTimeString(); //擷取目前時間
13 myDate.toLocaleString( ); //擷取日期與時間

 

var myDate = new Date();var y=myDate.getFullYear(); //擷取完整的年份(4位,1970-????)var m= myDate.getMonth(); //擷取當前月份(0-11,0代表1月)var d= myDate.getDate(); //擷取當前日(1-31)var w= myDate.getDay(); //擷取當前星期X(0-6,0代表星期天)var h= myDate.getHours(); //擷取當前小時數(0-23)var f= myDate.getMinutes(); //擷取當前分鐘數(0-59)var s= myDate.getSeconds(); //擷取當前秒數(0-59)var i= myDate.toLocaleDateString(); //擷取當前日期var j= mytime=myDate.toLocaleTimeString(); //擷取目前時間var k= myDate.toLocaleString( ); //擷取日期與時間alert(y+"-"+m+"-"+d+"-"+w+"-"+h+"-"+f+"-"+s);alert(i);alert(j);alert(k);
  • 運算子

算數運算子:+;-;*;/

+:1數字求和2字串的拼接

var i = 10;var j = 10;alert(i+j);

 

var i = "你好";var j = "hello world";alert(i+j);

 

-:1數字減法2對數字取相反數3將字串轉換成數值  數字型字串-數值

*:乘;/:除;%:取餘

複合賦值運算子+=; -=; *=; /=; %=

(sum+=a)==  sum=sum+a

 自增與自減

++對運算數進行遞增操作;--對運算數進行遞減操作

在運算數之前,先遞增或遞減,再賦值;在運算數之後,先賦值,再遞增或遞減

關係運算子

大小關係檢測:大於>;大於等於 >=;小於 <;小於等於 <=

等值關係檢測:等於==;不等於 !=

邏輯運算子:邏輯非 !  邏輯與 &&  邏輯 或 ||  

三元運算子

var a =10;var b =10;var c =a>b?"a比b大":a==b?"a與b相等":"a比b小"alert(c);

 

  • 流程語句

選擇語句

if語句   特性:可處理複雜的邏輯關係

if(條件1){代碼1}else if(條件2){代碼2}else{代碼3}

 switch語句   流程:1判斷條件運算式中的值2與標籤做比對;特性:處理簡單的邏輯

switch(1==1){case true:  alert(111)break;case false: alert(222)break; defaultbreak;}

 迴圈語句

while語句   流程:判斷條件運算式的值,當值為true時 迴圈執行代碼;當值為false時 退出迴圈 。特性:先檢查條件,再執行迴圈;條件不滿足則迴圈一次也不執行

while(條件運算式){  迴圈執行的代碼}

 do-while語句  流程:先執行迴圈體內代碼,再進行判斷如果運算式。為true則重複執行代碼如果運算式為false 退出迴圈。  特性:先執行迴圈體,再進行條件判斷;迴圈體內代碼至少執行一次

do{  迴圈執行的代碼}while(條件運算式);

 for語句   流程:迴圈變數初始值與迴圈條件做比較,確定傳回值返回true時,執行迴圈體執行完一次,迴圈體後進行遞增或遞減運算,將運算結果與迴圈條件做比較

for(定義迴圈變數的初始值;迴圈條件;遞增遞減計數器){   迴圈的代碼}

 跳躍陳述式

break:終止整個迴圈,不再進行判斷

continue:終止本次迴圈,接著去判斷是否執行下次迴圈

 

  •  數組

定義:數組是使用單獨的變數名來儲存一系列的值。

定義空數組

var 變數名 = new Array();var 變數名 = [];var 變數名 = new Array(數組的長度);

 往數組中添加元素

1  通過下標逐個添加或者通過迴圈添加 2  push方法

var a=[1,2,0,5,6,0,4,8,2];var attr2 = [];    //定義一個空數組//遍曆數組,將a數組中相同元素去掉,填入attr2數組中for (var i= 0;i<a.length;i++) {if(a[i]== 0)continue;attr2.push(a[i]);}alert(attr2);

 

遍曆數組  通過for迴圈或者for in

var xvar mycars = new Array()mycars[0] = "Saab"mycars[1] = "Volvo"mycars[2] = "BMW"for (x in mycars){document.write(mycars[x] + "<br />")}

 

對數組的內建操作函數

在數組末尾添加值

var arr=new Array(1,2,3,4,5);var len=arr.push(7,9); console.log(len,arr);

 

在數組開頭添加值

var arr=new Array(1,2,3,4,5);var len=arr.unshift(7,9);console.log(len,arr);

 

 刪除數組的值    pop刪除最後一位

<script type="text/javascript">var arr = new Array(1,2,3,4,5);var val = arr.pop();console.log(arr);console.log(val);</script>

  

shift   與pop相反  刪除下標為0的值

<script type="text/javascript">var arr = new Array(1,2,3,4,5);var val = arr.shift();console.log(arr);console.log(val);</script>

  

數組轉化為字串     join

<script type="text/javascript">var arr = new Array(1,2,3,4,5);var str = arr.join(".");console.log(str);</script>

  

數組的排序    reverse反轉排序

<script type="text/javascript">var arr = new Array(1,2,3,45,5);arr.reverse()console.log(arr);</script>

  

var arr=new Array(1,2,3,4,5,59,6);
arr.sort();
console.log(arr);

 注意:sort()預設是轉換字串再排序 所以不能按照數字大小排序

按數字大小排序

<script type="text/javascript">var arr=new Array(1,2,3,4,5,59,6);  arr.sort(function(a,b){return a-b}); //升序    console.log(arr);    arr.sort(function(a,b){return b-a});//降序    console.log(arr);</script>

  

串連數組

var arr1=[1,2,3];    var arr2=[4,5,6];    var arr3=[7,8,9];    var arr=arr1.concat(arr2,arr3,[10,11]);    console.log(arr);

  

對於數組的截取   slice

    var arr=new Array(1,2,3,4,5);    var arr2=arr.slice(2);    //第一個參數 start 開始選取的index 下標值 2為第三個值(0,1,2) 數字3開始 end 為可選 預設為到數組的末尾    console.log(arr2);//輸出 [3, 4, 5]    //注意 end 參數為 該參數是數組片斷結束處的數組下標 4 為 數字5的下標 截取5之前,也可以理成截取到end-1    var arr2=arr.slice(2,4);    console.log(arr2);//輸出 [3, 4]  不是[3,4,5]    //截取開始為負數    var arr2=arr.slice(-2,4);    //如果是負數,那麼它規定從數組尾部開始算起的位置。也就是說,-1 指最後一個元素,-2 指倒數第二個元素,以此類推。    // 也可以轉換成 數組長度(5)加 負數的值 (-2) 相當於arr.slice(3,4);    console.log(arr2);//輸出 [4]

  

數組的刪除與插入   splice

    //刪除    var arr=new Array(1,2,3,4,5);    var arr2=arr.splice(1,2);//刪除開始下標為1的值(2)開始的2個值 (2和3) 返回刪除的值    console.log(arr,arr2);    //插入    var arr=new Array(1,2,3,4,5);    var arr2=arr.splice(1,0,11,111);//在下標為1的值(2)之前插入值 ,參數第二個為0不刪除,插入11,111    console.log(arr);    var arr=new Array(1,2,3,4,5);    var arr2=arr.splice(1,1,11,111);//在下標為1的值(2)之前插入值 ,刪除下標為1的值並插入11,111    console.log(arr);    var arr=new Array(1,2,3,4,5);    var arr2=arr.splice(1,2,11,111);//在下標為1的值(2)之前插入值 ,刪除下標1和2的值並插入11,111    console.log(arr);

  

尋找 index of

//尋找值所在的下標    var arr=new Array(1,2,3,4,5,6,7,3);    var index=arr.indexOf(3);    console.log(index);  檢測第一個3出現的位置    var index=arr.indexOf(3,4);第二個參數 開始下標的值    console.log(index);檢測第下標為4開始(數字5開始) 第一個3出現的位置    var index=arr.indexOf(10);    console.log(index);    //末尾就開始尋找lastIndexOf()    var index=arr.lastIndexOf(3);    console.log(index); 

  

JS基礎--定義 資料類型 數學時間函數 數組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.