我應聘的是前端工程師。筆試就考了四道前端題,我的以爲基礎卻是考到了,可是前端方面的知識沒有多大聯繫,四道題,有三道題都是寫函數,只有一道題貼近了css,本身作的也通常通常。。。javascript
如今將四道題分享給你們,但願對你們的面試有幫助。css
1.寫一個函數padstare(string str1,min_lenthg,string str2),而後就是用英文解釋每一個參數的意思,看了半天沒看懂,而後看了下他的示例,一下就明白了。前端
例:padstare(‘5’,3,‘0’)返回的是‘005’;java
padstare(‘798’,5,‘0’)返回的是‘00798’;面試
意思是這樣的,若是字符串str1的長度沒有min_length大,就用str2來填充;json
我是這樣答的:前端工程師
<script> function padstare(str,min,str_char) { var ret=[]; if(str.length>=min) { return str; } else { for(var i=0;i<min-str.length;i++) { ret.push(str_char); } return ret.join('')+str; } } </script>
這道題應該是作對了的吧。函數
2.寫一個命令行字符的解析函數。spa
例:-name lily -age 25 -school "chengdu university" 返回的是[-name lily,-age 25, -school "chengdu university"]命令行
我是這樣答得:
<script> function getdata(str) { var json={}; var gets =str.split('"')[0]; gets =gets.split(' '); for(var i=0;i<gets.length-1;i++) { if(i%2==0) { json[gets[i]]=gets[i+1]; } } json[gets[gets.length-1]]=str.split('"')[1]; return json; } </script>
我的以爲有錯誤,但也是想了好久,纔想出這段代碼.......,既要考慮有沒有引號,並且還要考慮到引號中的空格不能被分隔開,我以爲此題答的很差,但願大神能給個正確答案啊,在此謝過!
3.第三題就是惟一的與css有關的題。
div1和div2是DOM結構中的關係爲兄弟節點的兩個div元素,分別畫出下列問題的效果圖:
a. .div1 {width: 100px;height: 100px;position: absolute;float: left;}
.div2 {width: 100px;height: 100px;position: absolute;float: right;}
b. .div1 {width: 100px;height: 100px;position: relative;float: left;}
.div2 {width: 100px;height: 100px;position: relative;float: right;}
c. .div1 {width: 100px;height: 100px;position: absolute;float: right;}
.div2 {width: 100px;height: 100px;position: relative;float: left;}
個人答案就不寫了,你們本身想一下這道題的答案吧。
4.設計函數indexof(a,b)判斷字符串a中是否包含字符串b,若是包含返回其位置,不包含返回-1;
我是這麼答的:
<script type="text/javascript"> function indexof(str1,str2) { var len1=str1.length; var len2=str2.length; var ret=[]; if(len1 <len2) { return false; } else { for(var i=0;i<=len1-len2;i++) { ret.push(str1.substr(i,len2); if(ret[i]==str2) {return i;} else {return -1;} } } } </script>
好比調用indexof('hello','e')應該返回的是2,而實際上返回了-1,這是爲何呢?原本我以爲這道題應該是沒問題的,可是我剛纔試了一下,才發現仍是有問題的,最後那個if...else...有點問題,由於i=0時,就會判斷了,ret[0]不等於str2,因此會返回-1;而實際上,不該該返回-1,所以這裏有問題。但願你們仔細看看代碼,幫我改正一下啊,謝謝了,O(∩_∩)O。