1、 JavaScript包括哪些數據類(lèi)型?
我回答的是有兩種:基本類(lèi)型和對象,其中基本類(lèi)型包括數字、字符串、布爾和null;對象(類(lèi)似對象),包括數組、函數、內置對象、自定義對象。不過(guò)按理說(shuō)字符串也有些對象的特點(diǎn)。
我這個(gè)回答是參考的JavaScript權威指南的,有些小問(wèn)題,第一類(lèi)中缺少了undefined。
搜索了下,網(wǎng)上還有幾種回答:
第一種:共九種類(lèi)型:1.未定義(undefined) 2.空(null) 3.布爾(boolean) 4.字符串(string) 5.數字(number)6.對象(object) 7.引用(reference) 8.列表(list) 9.完成(completion)。reference,list,completion這3種類(lèi)型是做為JavaScript運行時(shí)中間結果的數據類(lèi)型 在代碼中不能使用。
最后我確實(shí)沒(méi)見(jiàn)過(guò)。
第二種:javascript中包含6種數據類(lèi)型:undefined、null、string、number、boolean和object。其中,前5種是原始數據類(lèi)型,object是對象類(lèi)型。object類(lèi)型中包括Object、Function、String、Number、Boolean、Array、Regexp、Date、Globel、Math、Error,以及宿主環(huán)境提供的object類(lèi)型。
除去reference,list,completion不同外,這幾個(gè)回答其實(shí)大同小異。
2、<img>元素的alt和title有什么異同?
這個(gè)我前幾天正好看到了一篇這樣的文章。這兩個(gè)屬性是有些重復了。在不同瀏覽器里面表現有些不同。在alt和title同時(shí)設置的時(shí)候,alt作為圖片的替代文字出現,title是圖片的解釋文字。
剛剛小小的實(shí)驗了一把,在沒(méi)有title的時(shí)候,alt會(huì )作為圖片的解釋?zhuān)荈irefox好像不這樣做。完全測試的話(huà)要分圖片存不存在、只有title、只有alt,2*2*2,8種情況,真復雜啊。
3、 border-color-left、marin-left、-moz-viewport改寫(xiě)成JavaScript格式
這個(gè)就是-后字符換大寫(xiě),沒(méi)什么問(wèn)題。第三個(gè)-moz的真不敢確定。(未完待續)
ps:剛接到了百度面試的電話(huà),等了好久,以為沒(méi)希望了呢,小小高興一下吧。不過(guò)我也沒(méi)有多大的優(yōu)勢,不管是技術(shù)方面還是經(jīng)驗方面只有劣勢沒(méi)有優(yōu)勢,只是rp還行(竊喜一下)。筆試通過(guò)的有些僥幸,去百度的希望不大。
繼續:剛才試驗了一個(gè)-moz-border-radius確實(shí)是寫(xiě)成MozBorderRadius。
4、 編寫(xiě)一個(gè)JavaScript函數,實(shí)時(shí)顯示當前時(shí)間,格式“年-月-日 時(shí):分:秒”
主要是用到了各種時(shí)間函數,setInterval(funtionName,Time),firstChild.nodeValue。
setInterval函數名我好像寫(xiě)錯了。我寫(xiě)的是最普通最簡(jiǎn)單的函數,每隔一秒鐘重新獲取時(shí)間。有很多值得優(yōu)化的地方。程序寫(xiě)的不好看,就不獻丑了。
5、 用css、html編寫(xiě)一個(gè)兩列布局的網(wǎng)頁(yè),要求右側寬度為200px,左側自動(dòng)擴展。
我主要的想法是右側絕對定位,左框右邊距200px,正好空出了右側的位置。
我寫(xiě)的CSS如下:
#right{
position:absolute;
right:0;
width:200px;
}
#left{
marin-right:200px;
}另一種方法(試驗有效):
#right{
float:right;
width:200px;
}
#left{
marin-right:200px;
}HTML代碼中#right必須寫(xiě)在#left前面
<body>
<div id=”right”>…</div>
<div id=”left”>…</div>
</body>這好像是道經(jīng)典面試題,在某次面試的時(shí)候,就被問(wèn)過(guò)這個(gè)問(wèn)題。還有一道經(jīng)典的問(wèn)題是如何使固定寬度的div在頁(yè)面居中。
6、 使用JavaScript深度克隆一個(gè)對象?
JavaScript的對象賦值var anObj = anOtherObj 用的是傳址方式,不能用于復制對象。
用對象原型寫(xiě)通用性更強些,但是當時(shí)對prototype沒(méi)有十分的把握,只寫(xiě)了個(gè)克隆函數。剛剛查了下,果然有貓膩,下面是實(shí)現代碼:
function Object.prototype.cloneObj()
{
function NEWOBJECT(){};
NEWOBJECT. prototype = this;
var anObj = new NEWOBJECT();
for ( var ele in anObj )
{
if ( typeof anObj[ele] == “object” ) return anObj[ele]. cloneObj();
}
return anObj;
}7.Linux題目:批量刪除當前目錄下后綴名為.c的文件,如a.c、b.c
我的回答是rm *.c
幸虧我還有點(diǎn)點(diǎn)linux基礎,當然更得歸功于考前復習了幾個(gè)常用linux命令。
附加題是Flash的AS題,大概是比較AS2.0和AS3.0在面向對象方面的異同吧。我都有好久好久沒(méi)有接觸過(guò)AS了,這題我沒(méi)答。
聯(lián)系客服