對於一些編程新手來講,他們最煩惱的事情莫過於本身封裝函數了,既要實現該它的本來功能,還能封裝成函數,爲了方便之後書寫代碼時候更加便利,因此你們每次在封裝一個函數以後,使用的時候直接調用就能夠了。接下來就讓小編帶你走進個人代碼世界吧。node
思想: 把處理好的數字,轉成字符串,再去和isNaN做比較編程
function myIsNaN(n) {
var num = Number(n);
if (num + '' === 'NaN') {
// 把處理出來的數字轉化成字符串,在去和NaN作比較
return true
}
return false //打斷函數的執行
}
複製代碼
function myPush(ary,n){
ary[ary.length] =n;
}
var ary=[1,2];
myPush(ary,222);
console.log(ary);
複製代碼
function getChildren(ele){
// 從childNodes中篩選出元素子節點便可
var ary=[];
for(var i=0;i<ele.childNodes.length;i++){
if(ele.childNodes[i].nodeType == 1 ){
ary.push(ele.childNodes[i])
}
}
return ary;
}
複製代碼
function mypush2(arr,...abc){ //剩餘運算符...在函數中
//abc是個數組,存儲的是除了第一項以後的全部項
<!-- var ary=arguments[0]; 咱們要操做的數組 -->
arr.splice(arr.length,0,...abc)
//在數學中,就叫擴展運算符(解構),把abc數組拆開
return arr.length;
}
var ary=[1,2]
mypush2(ary,4,5,[6,7,8],9)
function mypop(arr){
return arr.splice(arr.length-1,1)[0]
}
mypop2=ary
複製代碼
function mypush(arr){
var ary=arguments[0]; // 咱們要操做的數組
for(var i=1;i<arguments.length;i++){
arr[arr.length]=arguments[i]
}
return arr.length
}
var ary=[1,2]
mypush(ary,4,5,[6,7,8],9)
console.log(ary); //[1,2,4,5,[6,7,8,],9]
複製代碼
function mypop(arr) {
var a=arr[arr.length-1]
arr.length--
return a
}
var ary = [1, 2, 3];
var res=mypop(ary);
console.log(ary,res)
複製代碼
原理: 循環傳進來的數組arr,把數組中的每一項經過unshift添加到一個新數組中,而後把新數組返回。數組
function myReverse(arr) {
var a = [];
for (var i = 0; i < arr.length; i++) {
var temp = arr[i];
a.unshift(temp)
}
return a;
}
var ary = [1,2,3,4];
var res2 = myReverse(ary);
console.log(res2, ary);
//這個方法不改變原來數組,新數組是倒敘輸出。
複製代碼
var res2=ary.join('+')
var ary = [1,2,3,4];
function myjoin(arr,str){
var s='';
//把數組中的每一項拿出來,跟指定字符拼接便可
for(var i=0;i<arr.length-1;i++){
s += arr[i] +str
}
return s
}
var res=myjoin(ary,'+'); 複製代碼