1. 程式人生 > >web前端面試題-各大公司面試題(360)

web前端面試題-各大公司面試題(360)

1 下面程式碼的輸出值是:

alert(1&&2)  //2

answer:

1、只要“||”前面為false,不管“||”後面是true還是false,都返回“||”後面的值。

2、只要“||”前面為true,不管“||”後面是true還是false,都返回“||”前面的值。

3、只要“&&”前面是false,無論“&&”後面是true還是false,結果都將返“&&”前面的值。

4、只要“&&”前面是true,無論“&&”後面是true還是false,結果都將返“&&”後面的值。
2.正則表示式匹配,開頭為11N, 12N或1NNN,後面是-7-8個數字的電話號碼

var reg = /^(11N|12N|1NNN)[0-9]{7,8}$/;

var str = "11N1234567";

console.log(str.match(reg));

注意:正則表示式需要寫開始符號合結束符號

3 寫出下面程式碼的輸出值

var obj = {  
    a: 1,  
    b: function () {console.log(this.a)}  
};

var a = 2;  
var objb = obj.b;

obj.b();  
objb();  
obj.b.call(window);

answer:
1
2
2
window裡的a為2,objb是以window作為的例項。
4 寫出下列程式碼在各個瀏覽器中的顏色值?

background: red; 
_background: green; 
*background: blue; 
background: black\9;

CSS hack分類

CSS Hack大致有3種表現形式,CSS屬性字首法、選擇器字首法以及IE條件註釋法(即HTML頭部引用if IE)Hack,實際專案中CSS Hack大部分是針對IE瀏覽器不同版本之間的表現差異而引入的。

屬性字首法(即類內部Hack):例如 IE6能識別下劃線”“和星號” * “,IE7能識別星號” * “,但不能識別下劃線”“,IE6~IE10都認識”\9”,但firefox前述三個都不能認識。

選擇器字首法(即選擇器Hack):例如 IE6能識別html .class{},IE7能識別+html .class{}或者*:first-child+html .class{}。

IE條件註釋法(即HTML條件註釋Hack):針對所有IE(注:IE10+已經不再支援條件註釋): ,針對IE6及以下版本: 。這類Hack不僅對CSS生效,對寫在判斷語句裡面的所有程式碼都會生效。

5 輸出下面的值:

var a = 1;  
function b() {  
    var a = 2;
    function c() {
        console.log(a);
    }
    return c;
}
b()(); 

answer: 2

6 簡述在IE下mouseover和mouseenter的區別?

answer:
當滑鼠穿過被選元素或子元素,都會出發mouseover,只有穿過被選元素,才會觸發mouseenter。 在IE中,mouseenter子元素不會反覆觸發事件。