js基礎知識
阿新 • • 發佈:2021-08-10
js基礎概念
js的區域性變數和全域性變數
js的資料型別
var是弱資料型別, 但js是能識別他的資料型別的
<head> <meta charset="utf-8"> <script type="text/javascript"> function abc(){ var a=1; var b="張三"; var c=true; var d=new Date(); alert("a的資料型別:"+typeof(a)); alert("b的資料型別:"+typeof(b)); alert("c的資料型別:"+typeof(c)); alert("d的資料型別:"+typeof(d)); } </script> </head> <body> <input type="button" name="" id="" value="js的資料型別" onclick="abc()"/> </body>
關於js的方法
方法的書寫
<script type="text/javascript"> function abc(){ var a=1; var b="張三"; var c=true; var d=new Date(); alert("a的資料型別:"+typeof(a)); alert("b的資料型別:"+typeof(b)); alert("c的資料型別:"+typeof(c)); alert("d的資料型別:"+typeof(d)); } </script> <body> <input type="button" name="" id="" value="不傳引數的按鈕" onclick="test()" /><br/> <input type="button" name="" id="" value="傳1個引數" onclick="test1(12)" /><br/> <input type="button" name="" id="" value="傳2個引數" onclick="test2(1,'張三')" /></br/> <input type="button" name="" id="" value="呼叫了一個有返回值的按鈕" onclick="test3('張三')" /><br/> </body>
方法覆蓋
和Java不同,js中沒有方法的過載,只有方法覆蓋
只要方法名相同。無論是有多少個引數,js統一隻會識別到最後一個方法(方法覆蓋)
<head> <meta charset="utf-8"> <title></title> <script type="text/javascript"> function abc(a){ //var name='張三';//在方法體內部的區域性變數,只能自己用 alert('這是第一個方法'+a); } function abc(){ alert('這是第二個方法'); } function abc(){ alert('這是真的'); } </script> </head> <body> <!-- js中不會過載,只有方法覆蓋啊 --> <input type="button" value="方法過載和多型" onclick="abc(44)"/> <!-- 輸出:這是真的 --> </body>
js資料型別的轉換
雖然js只有一個var來描述變數(弱資料型別),但系統可以識別他的資料型別,還可以進行資料型別的轉換
<script type="text/javascript"> function test(){ var x='12.3'; console.log("x的資料型別是:"+typeof(x)); var m=parseInt(x); console.log("x轉換後的資料型別是:"+typeof(m)+"值是:"+m); var y='12.111'; console.log("y的資料型別是:"+typeof(x)); var m1=parseFloat(y); console.log("y轉換後的資料型別是:"+typeof(m1)+"值是:"+m1); var z='3*4'; console.log("z的資料型別是:"+typeof(z)+"z的值是:"+z); var m2=eval(z); console.log("z計算後的資料型別是:"+typeof(m2)+"值是:"+m2); var l=true; console.log("l的資料型別是:"+typeof(l)+"l的值是:"+l); var m3=l.toString(); console.log("l轉換後的資料型別是:"+typeof(m3)+"值是:"+m3); } </script> <body> <input type="button" name="" id="" value="資料型別的轉換" onclick="test()"/> </body>
js中的運算計算
js的運算規則和Java一樣(但特別注意:x=+y)
function abc(){ var a='10'; var b='8'; console.log("b的值 "+b+" b的資料型別轉換成 "+typeof(b)+" "+a) /* =+ a先轉換成number 再給a的值複製給b */ /* += 等價與 b+=a == b=b+a */ }
選擇語句和迴圈語句
略:和java一樣
js主要物件
window物件
時間間隔器
<script type="text/javascript"> function test(){ console.log('test方法開始執行了'); /* 引數: 執行的方法, 等待的時間(毫秒單位) */ window.setTimeout("hello()",1000); } function hello(){ console.log('hello'); } function test1(){ console.log('test1方法開始執行了'); window.setInterval("hello()",1000); } </script> <body> <input type="button" value="等待一定時間,再執行" onclick="test()" /><br/> <input type="button" name="" id="" value="每間隔一定時間,反覆執行" onclick="test1()"/> </body>
陣列的使用
<script type="text/javascript"> function test(){ /* 第一種宣告方式 */ var a=[1,2,3,4,5,6,7,8,9]; for (var i = 0; i < a.length; i++) { console.log("當前陣列的角標:"+i+"當前的值:"+a[i]); } } function test1(){ /* 第二種宣告方式 */ var a=new Array(); a[0]=[1,2,3]; a[1]=['張三','李四','王五']; a[2]=[2,5,1,3,6]; for (var i = 0; i < a.length; i++) { for (var j = 0; j < a[i].length; j++) { console.log("當前陣列的角標:"+i+", "+j+"當前位置的值:"+a[i][j]); } } } function test2(){ /* join(分隔符) 將陣列元素中加分割符號後串接並返回一個字串 */ var a=[1,3,2,9,7,8,5]; console.log(a.join("*")); /* reverse() 將陣列元素按照原先相反位置存放 */ console.log("陣列的取反:"+a.reverse()); /* slice(始[,終) 返回一個子陣列 (前包後不包)*/ console.log(a.slice(1,4)); /* sort() 按照字母排序 */ console.log(a.sort()); } </script> <body> <input type="button" value="一維陣列的遍歷" onclick="test()"/> <input type="button" value="二維陣列的遍歷" onclick="test1()"/> <input type="button" value="陣列的操作" onclick="test2()"/> </body>
字串的基礎操作
<script type="text/javascript"> function test(){ var a="hello world"; var index_a=a.indexOf("o");//第一個字母的位置 var index_b=a.indexOf("p");//沒有就返回-1 console.log("o的角標位置:"+index_a); /* 字元擷取(前包後不包) */ var new_a=a.substring(1,3); console.log(new_a); /* 根據特定字元,格式化字串 */ var ip='192.168.0.1'; var ip_array=ip.split("."); for (var i = 0; i < ip_array.length; i++) { console.log(ip_array[i]); } /* 大小寫轉換 */ var b='abc'; console.log(b.toUpperCase()); var c='ABC'; console.log(c.toLowerCase()); } </script> <body> <input type="button" value="字串處理" onclick="test()"/> </body>
js時間的格式化
<script src="../js/dateFormat.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> function test(){ var date=new Date(); console.log(date); //方法1:引入控制元件 var sdate=date.format('yyyy-MM-dd'); var stime=date.format('yyyy-MM-dd HH:mm:ss') console.log(sdate); console.log(stime); //方法2: var y=date.getFullYear();//年 var mon=date.getMonth()+1;//月 var d=date.getDate();//日 var h=date.getHours();//時 var m=date.getMinutes();//分 var s=date.getSeconds();//秒 var weeks=date.getDay(); var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]; console.log(y+"年 "+mon+"月 "+d+"日 "+h+":"+m+":"+s+" "+weekday[weeks]) } </script> <body> <input type="button" value="日期處理" onclick="test()" /> </body>
以上就是js基礎知識的詳細內容。(拼多多培訓)