JavaScript,DOM經典基礎面試題

來源:互聯網
上載者:User

標籤:nbsp   number   輸出   布爾   情況   次方   區分   單引號   檢測   

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不再是一個函數對象,而是一個一般字元串

JavaScript,DOM經典基礎面試題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.