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子元素不會反覆觸發事件。