JS基礎-語法+流程控制語句+函數+內置對象「數組」


JS基礎-語法+流程控制語句+函數+內置對象「數組」


JS語法:

Javascript基本數據類型:undefined/null/Boolean/number/string

複雜數據類型:object

typeof用來檢測變量的數據類型

typeof的使用方法有兩種:

(1)typeof 變量

(2) typeof(變量)

undefined派生自null,所以undefined==null返回的結果是true


用於任何數據類型,Number()可以將非數值轉化為數值,但是有一些數據是不能轉化為數值的,如果這類數據通過Number()進行強制轉化的話,會返回NaN

<code>var a=Number(name_01);/<code>

用於把字符串轉換為數值

<code>var b=parseInt("28px") var d=parseFloat("12.34.56px");/<code>

不知道值是不是null或者undefined,可以使用String(),可以將任何類型的值轉為字符串

<code>var idstr=ids.toString();console.log(String(m));/<code>

在運算中,除了加法,其餘的運算都會將字符串先轉換為數字之後再進行計算,但是兩個數據相加,如果有一方是字符串的話,加號的作用就是將他們進行拼接

如: 數字5和字符串"5"進行加減乘除運算,結果分別是:55 0 25 1


&&邏輯與:

如果第一個操作數隱式轉換後為true,則返回第二個操作數;

如果前面的都為true,則返回最後一個操作數。

如果第一個操作數隱式轉換後為false,則返回第一個操作數;

如果有一個是null,則返回null;

如果有一個是undefined,則返回undefined;

如果有一個是NaN,則返回NaN


||邏輯或:

如果第一個操作數隱式轉換為true,則返回第一個操作數;

如果第一個操作數隱式轉換為false,則返回第二個操作數,依次往後;

如果兩個數都是null,則返回null;

如果兩個數都是undefined,則返回undefined;

如果兩個數都是NaN,則返回NaN;


!邏輯非

無論如何都會返回一個布爾值

!!對邏輯非的結果再求反;


JS****流程控制語句:

<code>var age=prompt("請設置您的密碼"); if(age<18){          alert("您還沒有成年");       }else{          alert("您已成年,請提供您的身份證號");       } if(age.length!=6){          alert("請輸入6位數字密碼");       }else{ if(isNaN(age)){            alert("密碼必須是6位數字");          }else{            alert("密碼設置正確");          }       }專門建立的學習Q-q-u-n:⑦⑧④-⑦⑧③-零①② ,分享學習的方法和需要注意的小細節,不停更新最新的教程和學習技巧(從零基礎開始到前端項目實戰教程,學習工具,全棧開發學習路線以及規劃)/<code>

NaN也是一個number類型的一種,typeof NaN==number

<code>var week=new Date().getDay(); var weekstr="";       console.log(week); // 0-6       // 多條件的判斷 switch       switch(week){ case 0:          weekstr="日"; break;  // 退出          case 1:          weekstr="一"; break; case 2:          weekstr="二"; break; case 3:          weekstr="三"; break; case 4:          weekstr="四"; break; case 5:          weekstr="五"; break; default:          weekstr="六";       }       document.write("今天是星期"+weekstr);/<code>

for循環嵌套:

外層為假時內層不執行;

先執行外層,再執行內層;當內層為假時再執行外層。


JS****函數:

函數執行完return之後立即停止並退出函數。

如果return後面沒有值,默認返回undefined


js非嚴格模式下,可以使用arguments來改變傳入的參數的值

<code>function inner(){ // arguments  console.log(arguments.length);          console.log(arguments[1]); // 索引是從0開始的正整數 }       inner(10,5); function add(num1,num2){              arguments[0]=99;          console.log(num1);       }       add(55,88)/<code>

JS****內置對象【數組】:

創建數組的兩種方式:

new Array()

字面量方式 []


arr.length 獲取數組長度

過設置length可以從數組的末尾移除項或者添加新項


統計員工工資的代碼:

(1) 不停的接收用戶輸入的員工的工資,直到用戶輸入“退出”便不再彈出“輸入工資”的窗口

(2) 把用戶輸入的數據保存在一個數組中

<code>var input,arr=[]; while(input!='退出'){            input=prompt('請輸入員工工資');            arr[arr.length]=input;       }       arr.length-=1;//不存入'退出'       document.write(arr);/<code>

數組的棧方法:

<code>// push從數組末尾加入       var colors=new Array("red","green"); var len=colors.push("blue","yellow","blank");       console.log(len); // unshift從數組頭部加入       var nums=[2,7,8,6]; var size=nums.unshift(99,66); // pop從數組尾部刪除,返回值是被刪除的元素       var n=nums.pop();       console.log(nums); // shift從數組頭部刪除,返回值是被刪除的元素       var m=colors.shift();       console.log(m);/<code>
<code>// join 把數組元素轉為字符串       var nums=[2,4,5]; var str=nums.join();  //2,4,5        var words=["border","left","color"]; // border-left-color       var wordstr=words.join("-");       console.log(wordstr); // reverse 數組中元素反序 nums.reverse();       console.log(nums); var strs=["a","b","c","d"]; // 返回dcba這個字符串       var newstr=strs.reverse().join("")       console.log(newstr); // 29,5,24,17,32       var arr=[9,23,15,-99,88,12,-2]; //sort()對數組元素進行排序,按字符串格式進行排序var _arr1=[8,95,31,1,5];        console.log(_arr1.sort());//輸出1,31,5,8,95,因為會先將元素轉換為字符串,用字符串的首字符進行比較,       //如果第一個字符相同,繼續比較第二個字符       //針對上面的情況,使用以下方法解決       // 降序 return 參數1參數2       arr.sort(function(a,b){return a>b});       console.log(arr);/<code>
<code>var arr1=["a","b","c"],          arr2=["d","e",1,3],          arr3; // concat 連接兩個或多個數組      arr3=arr1.concat(arr2,["m",99,8]);      console.log(arr3); // slice(start,end) end下標 截取數組一部分返回      // 包含start,不包含end      // start負數,就是數組長度+該長度      // 如果沒有end,就從start一直到結束      var colors=["red","green","blue","yellow","orange"]; var newColors=colors.slice(1,3); var newColors2=colors.slice(2,4); var newColors3=colors.slice(-4,3); // 1,3      console.log(newColors3);專門建立的學習Q-q-u-n:⑦⑧④-⑦⑧③-零①② ,分享學習的方法和需要注意的小細節,不停更新最新的教程和學習技巧(從零基礎開始到前端項目實戰教程,學習工具,全棧開發學習路線以及規劃)/<code> 
<code>// 拷貝數組的方法      var a=[1,"yes",3],          b; // 1、數組遍歷,push      b=new Array(); for(var i=0;i<a.length>/<code>
<code>//splice返回值是被刪除的項,如果沒有刪除則返回[]       var arr=["a","b","c","d","e","f"]; // 刪除,從index開始刪除count個數,返回被刪除的       // splice(index,count)       // count為0 則不刪除;count不設置,則從Index開始刪除到最後       var delArr=arr.splice(2,3); // 插入,從index開始,刪除count個,插入item1...       // splice(index,count,item1...)       var insertArr=arr.splice(3,0,"m","n",88); // 替換       var replaceArr=arr.splice(1,2,"x","y","z");       console.log(arr);       console.log(replaceArr);/<code>
<code>var nums=[1,7,5,7,8,1,6,9]; //indexOf(seachvalue,startIndex)       //返回查找的項在數組中的位置,沒有則返回-1       var pos=nums.indexOf(7,2); //lastIndexOf()從數組末尾開始查找       var pos=nums.lastIndexOf(1); var pos=nums.indexOf("7");       console.log(pos);/<code>

indexOf()方法有兼容性問題,解決方案:

<code>// 封裝一個方法實現indexOf的功能       function ArrayIndexOf(arr,value){ // 檢測value在arr中出現的位置          for(var i=0;i<arr.length>/<code>



分享到:


相關文章: