摘要:最后代碼執行代碼執行,,調用優先順序成員訪問帶參數列表函數調用無參數列表查找一個字符串中指定字符出現的位置經典問題
javascript前端面試題匯總 1、 JavaScript中如何檢測一個變量類型是String?請寫出函數實現
//分析:String的兩種創建方法: //第一種方法: var str = "str" //str只是一個以String為數據類型的值,但并不屬于String對象的實例 //第二種方法: var strObj = new String("strObj") //此時的strObj是String對象的一個實例 //針對第一種創建方式,采用typeof檢測,此時采用instanceof != String //針對第二種創建方式,采用instanceof檢測,此時采用typeof檢測出來的是Object function isString(str){ return (typeof str).toLowerCase() === "string" || str instanceof String }2、原型和原型鏈經典題目
function Foo(){ getName = function(){ alert(1)} } Foo.getName = function(){alert(2)} Foo.prototype.getName = function(alert(3)) var getName = function(){alert(4)} function getName(){alert(5)} //問題:請給出下面運行的結果 Foo.getname(); getName(); Foo().getName(); getName(); New Foo.getName(); new Foo().getName(); new new Foo().getName();
進入環境(代碼未執行,已編譯):
VO:{ Foo:{getName: return this } getName: }
代碼執行1:Foo.getName()
VO:{ Foo:{, getName: , return this }, getName: }
代碼執行2:Foo.prototype.getName = function(){alert(3)}
VO:{ Foo:{getName: , prototype:{ getName: } return this } getName: }
代碼執行3:var getName = function(){alert(4);};
VO:{ Foo:{getName: , prototype:{ getName: } return this } getName: }
代碼執行4:Foo.getName()
VO:{ Foo:{getName: , prototype:{ getName: } return this } getName: }
代碼執行5:getName() //2
代碼執行6:Foo().getName()
Foo().getName() == window.getName() //同時注意:這里由于Foo()調用,導致VO發生了變化。最后alert(1) VO:{ Foo:{getName: , prototype:{ getName: } return this } getName: }
代碼執行7:getName() //1
代碼執行8,9,10:
//調用優先順序 成員訪問 > new(帶參數列表)>函數調用>new(無參數列表)3、this
var name = "the window" var obje = { name:"myObject", getNameFunc:function(){ return function(){ return this.name } } } obje.getNameFunc()()4、查找一個字符串中指定字符出現的位置
var stringValue = "lorem ipsum dolor sit amet ,consectent adipisicing elit" var array = [] var pos = stringValue.indexOf("e") while(pos > -1){ array.push(pos) pos = stringValue.indexOf("e",++pos) }5、this經典問題
var a =1; function foo(a,b){ a = 2; console.log(a); var a; console.log(a); arguments[0] = 3 console.log(a,this.a,b) }
//2 //2 //2 1 undefined
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/99633.html
摘要:想必面試題刷的多的同學對下面這道題目不陌生,能夠立即回答出輸出個,可是你真的懂為什么嗎為什么是輸出為什么是輸出個這兩個問題在我腦邊縈繞。同步任務都好理解,一個執行完執行下一個。本文只是我對這道面試題的一點思考,有誤的地方望批評指正。 想必面試題刷的多的同學對下面這道題目不陌生,能夠立即回答出輸出10個10,可是你真的懂為什么嗎?為什么是輸出10?為什么是輸出10個10?這兩個問題在我腦...
摘要:這個系列的文章將記錄我準備春招的整個過程,我會將自己學習到的新知識記錄在這個系列里文章目錄前言說明準備方向目標前言說明作為半個科班出身學數學的應屆生,在學習計算機的時候還是比較吃力的,從今年月份開始接觸前端,到現在也有個月左右了。 這個系列的文章將記錄我準備春招的整個過程,我會將自己學習到的新知識記錄在這個系列里 文章目錄 前言說明 準備方向 目標 前言說明 ??作為半個科班出身...
摘要:這個系列的文章將記錄我準備春招的整個過程,我會將自己學習到的新知識記錄在這個系列里文章目錄前言說明準備方向目標前言說明作為半個科班出身學數學的應屆生,在學習計算機的時候還是比較吃力的,從今年月份開始接觸前端,到現在也有個月左右了。 這個系列的文章將記錄我準備春招的整個過程,我會將自己學習到的新知識記錄在這個系列里 文章目錄 前言說明 準備方向 目標 前言說明 ??作為半個科班出身...
摘要:這個系列的文章將記錄我準備春招的整個過程,我會將自己學習到的新知識記錄在這個系列里文章目錄前言說明準備方向目標前言說明作為半個科班出身學數學的應屆生,在學習計算機的時候還是比較吃力的,從今年月份開始接觸前端,到現在也有個月左右了。 這個系列的文章將記錄我準備春招的整個過程,我會將自己學習到的新知識記錄在這個系列里 文章目錄 前言說明 準備方向 目標 前言說明 ??作為半個科班出身...
閱讀 1029·2023-04-26 02:26
閱讀 2134·2021-09-26 10:16
閱讀 1544·2019-08-30 12:57
閱讀 3461·2019-08-29 16:10
閱讀 3214·2019-08-29 13:47
閱讀 1182·2019-08-29 13:12
閱讀 2135·2019-08-29 11:11
閱讀 1330·2019-08-26 13:28