JavaScript,DOM經典基礎面試題


JavaScript的數據類型

JavaScript的數據類型可以分為原始類型和對象類型

原始類型包括string,number和Boolean三種,其中字符串是使用一對單引號或者一堆雙引號括起來的任意文本;而數值類型都采用64位浮點格式存儲,不區分整數和小數;布爾(邏輯)只能有兩個值:true和false.

復雜類型指其他對象,如array,date,object等

除此之外,JavaScript中海油兩個特殊的原始值:null(空)和undefined(未定義),它們代表了各自特殊類型的唯一成員。

var a=[];

var b=a;

b[0]=1;

console.log(b[0]);

console.log(a[0]);

console.log(a===b);

答案:1  1  true

將對象賦值給變量,僅僅是賦值的引用,對象本身並沒有賦值。因此變量a和b指向同一個數組

var a=2;

var obj={x:1,y:{z:2}};

var n=[obj,3[4,5]];

console.log(a<<2);

console.log(obj["y"].z);

答案:8  2

<<是將a二進制轉換,一個公式n*2的m次方

n=a,m=<<后面的數

簡述arguments對象的作用

答:在函數代碼中,使用特殊對象arguments可以訪問函數的參數,即開發者在定義函數時,無需明確的為方法聲明參數,也可以子方法體中使用arguments來訪問參數

這是因為arguments 是一種特殊對象,在函數代碼中,表示函數的參數數組

正因為arguments表示參數組成的數組,因此,首先可以使用arguments。length檢測函數的參數個數,其次可以通過下標arguments【index】來訪問某個參數這樣

可以用arguments對象判斷傳遞給函數的參數個數並獲取參數,適用於函數參數無法確定個數的情況下

 

function f(){

console.log("function");

}

function test(){
console.log(f);

f();

f="hello";

console.log(f);

f();

}

test();

上述代碼運行后,輸出結果為?

答案:

function

hello

string is not a function這是因為,定義函數時,函數名稱作為一個全局變量,該變量指向函數對象,因此執行函數test中的第一行代碼時,將輸出變量f所對應的函數對象,即輸出函數體重代碼的字符串形式;然后執行f()表示調用方法f,則輸出字符串function ;執行代碼非“f=hello,意味着將變量f的值改為字符串因此在輸出變量f時,將輸出字符串hello;而如果試圖在執行f()會引發錯誤,這是因為,此時變量f不再是一個函數對象,而是一個普通字符串


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM