JAVASCRIPT基礎

JAVASCRIPT基礎

1.原始數據的5種類型

Number/String/Boolean/undefined/null

2.JS的內置對象

Number/String/Array/Object/Boolean

3、未聲明和未定義的變量

未聲明:程序中不存在的變量且未聲明的變量;
未定義:在程序中申明瞭但是沒有給予任何值得變量。

4、js定時器

定時器用於在設定的時間執行一段代碼,或者在給定的時間間隔內重複該代碼。這通過使用函數setTimeoutsetInterval和clearInterval來完成。

  • setTimeout(function,delay)函數用於啓動在所述延遲之後調用特定功能的定時器。
  • setInterval(function,delay)函數用於在提到的延遲中重複執行給定的功能,只有在取消時才停止。
    clearInterval(id)函數指示定時器停止

5、== 和 ===的區別

==:數值相等,==數值和類型相等

6、在JavaScript中使用innerHTML的缺點是什麼?

如果在JavaScript中使用innerHTML,缺點是:內容隨處可見;不能像“追加到innerHTML”一樣使用;即使你使用+ = like“innerHTML = innerHTML +‘html’”舊的內容仍然會被html替換;整個innerHTML內容被重新解析並構建成元素,因此它的速度要慢得多;innerHTML不提供驗證,因此我們可能會在文檔中插入有效的和破壞性的HTML並將其中斷。

7、數組去重的方法

  • 方法一:
function unique(arr){
var result=[]
for(var i=0;i<arr.length;i++){
    if(result.indexOf(arr[i]==-1)){
    result.push(arr[i]);
    }
}
return resule;
}
  • 方法二:
arr.from(new Set(arr))

8、冒泡排序

  • 方法一:
function sort(arr){
    if(arr.length<1){
        return arr;
    }
    for(var i=0;i<arr.length-1;i++){
        for(var j=0;j<arr.length-i;j++){
            if(arr[j]>arr[j+1]){
            var tep=arr[j];
            arr[j]=arr[j+1];
            arr[j+1]=tep;
            }
        }
    }
    return arr;
}
  • 方法二:
function sort(arr){
    if(arr.length<1){
        return arr;
    }
    var left=[];
    var right=[];
    var mid=[arr.[0]];
    for(var i=1;i<arr.length;i++){
        if(arr[i]<mid[0]){
            left.push(arr[i]);
        }else{
            right.push(arr[i])
        }
    }
    return quickSort(left).concat(mid.concat(quickSort(right)));
}

9、typeOf與instanceOf的區別

  • 相同點:判斷變量是否爲空或者變量的類型;
  • 不同點
  1. typeOf只能返回:number/string/boolean/function/undefined,對於arr、null來說一律返回object.
  2. instabceOf判斷一個對象是否屬於某個對象的實例。

10、.call和.apply的區別是什麼?

all(thisObj,Object) ,apply(thisObj,[argArray])

對於apply和call兩者在作用上是相同的,但兩者在參數上有以下區別:
對於第一個參數意義都一樣,但對第二個參數:apply傳入的是一個參數數組,也就是將多個參數組合成爲一個數組傳入,而call則作爲call的參數傳入(從第二個參數開始)。如 func.call(func1,var1,var2,var3)對應的apply寫法爲:func.apply(func1,[var1,var2,var3])同時使用apply的好處是可以直接將當前函數的arguments對象作爲apply的第二個參數傳入。

11、描述以下變量的區別:null,undefined或undeclared?

null是一個表示”無”的對象,轉爲數值時爲0;undefined是一個表示”無”的原始值,轉爲數值時爲NaN。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章