【前端】筆試題 2019.08.07

選擇題:HTML+CSS+JS
參考鏈接:https://www.nowcoder.com/
非商業用途自由轉載,保持署名,註明出處!


  1. onBlur:失去焦點觸發;function關鍵字不屬於對函數的調用,而是對函數的聲明;
  2. 設置一般用set開頭,獲取用get開頭;
  3. 作用域:限定可用性的範圍;作用域鏈:決定哪些數據能被函數訪問;with try-catch eval都會改變作用域鏈,while不會;
  4. 沒有文檔類型聲明則會開啓混雜模式
  5. ^ 以。。。開頭;$以。。。結尾;*任意多次; |或的意思; ()組; []集合;
  6. < hearder>:定義文檔頁眉;只有一個標題元素(h1-h6中的一個),並不需要< hgroup>,.當出現一個或者一個以上的標題與元素時,適用< hgroup>來包圍他們(已廢棄);
  7. 百分數是相對於父元素的width計算的;
  8. 分析以下函數:
(function() {

var x=foo();

var foo=function foo() {
return “foobar”
};
return x;
})();

提取函數內部的語句:

var x=foo();
var foo=function foo() {}

即:

var foo;
var x=foo()foo=function foo() {}

上述第1步變量提前,聲明瞭foo,第2步未被定義爲函數;所以返回類型錯誤
9.表格的其中一種形式:

    <dl>
        <dt></dt>
        <dd></dd>
    </dl>

10.call和apply:作用完全一樣,但是傳遞的參數不一樣。apply數組傳遞

var o = {a:1, b:3}; 
add.call(o, 5, 7);
add.apply(o, [10, 20]);

11.HTML5新的表單元素:

  • datalist:規定輸入域的選項列表
  • keygen:提供驗證方法
  • output:不同類型的輸出

12.標籤含義:

  • < mark>:高亮
  • 沒有< highlight>
  • < em>:強調

13.Ajax異步執行基於:Event和callback
14.如下:
在這裏插入圖片描述
答案是green和blue,執行getColor()函數時this指向的window,因爲window.color爲green,所以彈出green。

15.bootstrap:給文字添加顏色

  • 主要藍(bg-primary)
  • 成功綠(bg-success)
  • 信息藍(bg-info)
  • 警告黃(bg-warning)
  • 危險紅(bg-danger)

16.HTTP協議:

  • 無狀態的請求/響應協議
  • GET表示獲取資源,POST表示新增一個資源,PUT表示更新資源,DELETE 表示刪除資源
  • 307表示臨時重定向

17.web安全: 服務器端生成驗證碼後一方面通過圖片將驗證碼返回給客戶端,同時在服務器端保存文本的驗證碼,由服務器端驗證輸入內容是否正確;

18.不換行需要執行:

  • word-break:任意位置換行
  • white-space:處理元素內空白

19.bootstrap

  • 數據行 (.row) 必須包含在容器( .container )中
  • 在行 (.row) 中可以添加列 (.column)

20.CSS盒子:padding是透明的,但可以顯示背景


21.盒子模型:

  • 標準盒子模型 = margin + border + padding + content (content = width | height)
  • IE盒子模型 = margin + content (content = border + padding + width | height)
    22.窗口滾動時能始終固定在視野頂端:
<div style=”position:fixed;top:0;”></div>

23.字體顏色:green,因爲不存在text-color

<div style=”color:red; text-color:blue;”><span   style=”color:green;text-color:black;”>Hello</span></div>

24.單元格:
在這裏插入圖片描述 在這裏插入圖片描述
25.link標籤是同時加載的 script標籤纔會加載完一個再加載另一個
26.span的寬0,高200px

<div style=”width:400px;height:200px;”>
  <span style=”float:left;width:auto;height:100%;”>
           <i style=”position:absolute;float:left;width:100px;height:50px;”>hello</i>
  </span>
</div>

因爲span原本是行內元素,但加了浮動而成爲塊狀元素,高度百分數表示與父親一樣爲200px,寬度由內容撐開,但是內容設置了絕對定位,脫離文檔流,不佔父空間,所以span的寬爲0.
27.表單:

  • disabled指當 input 元素加載時禁用此元素。input內容不會隨着表單提交,
  • readonly規定輸入字段爲只讀。input內容會隨着表單提交。
  • 只有js腳本可以修改input內容

28.js:

var user = {
 count : 1,
 getCount: function(){
  return this.count;
 }
}
var func = user.getCount
console.log(func())

func中的this指向的是window,所以會返回undefined。如果是沒有加this纔會是報錯
29.IE8不支持border-radius
30.js:

var obj=( );//錯誤
var obj=[ ];
var obj={ };
var obj=/ /;//聲明正則

31.bootstrap:

  • .col-xs- 超小屏幕 手機 < 768px
  • .col-sm- 小屏幕 平板 >=768px
  • .col-md- 中等屏幕 >=992px
  • .col-lg- 大屏幕 >1200px

32.CSS中link和@import的區別:

  • link屬於XHTML標籤,而@import完全是CSS提供的一種方式
  • link引用的CSS會同時被加載,而@import引用的CSS會等到頁面全部被下載完再被加載
  • link在支持CSS的瀏覽器上都支持,而@import只在5.0以上的版本有效
  • 當使用javascript控制dom去改變樣式的時候,只能使用link標籤,因爲@import不是dom可以控制的。

33.檢測一個js對象是數組類型:

  • Array.isArray()
  • instance of
  • Object.prototype.toString()

34.then 有兩個參數 都是回調函數 第一個回調函數,在Promise 狀態爲resolve 執行,第二個在狀態爲reject執行。
catch方法,相當於then(null,reject)的一個變體。
35.HTML5:

  • 不再支持< font>標籤;
  • < q>標籤定義一個短的引用;
  • < ins>標籤定義文檔的其餘部分之外的插入文本;
  • < menu>標籤定義菜單列表。

36.若聲明而未對變量賦值,該變量的值爲undefined
37.節點格式:

  • Element類型(元素節點)、
  • Text類型(文本節點)、
  • Comment類型(註釋節點)、
  • Document類型(document節點)。

38.react:class是js關鍵字,要用className!

<div class=”msg-box”>{msg}</div>//錯誤

39.可繼承(特定的css屬性向下傳遞到後代元素)的樣式屬性包括:color,font-size等等,不可繼承:background-color,border,margin
40.元素分類:

  • 塊級元素block element 、
  • 行內元素 inline element、
  • 行內塊元素 inline-block element

41.js

for(let i=0;i<2;i++){
setTimeout(function(){
console.log(i)
},100
);
}
for(var i=0;i<2;i++){
setTimeout(function(){
console.log(i)
},100
);
}
  • 輸出0 1 2 2
  • 第2部分:var變量for循環時不會綁定i狀態值,當i=1時,i<2成立,此時i++,i的值變成2,所以定時器觸發後,分別輸出的是2,2。

42.js

var myObject = {
    foo: "bar",
    func: function() {
        var self = this;
        console.log(this.foo);  
        console.log(self.foo);  
        (function() {
            console.log(this.foo);  
            console.log(self.foo);  
        }());
    }
};
myObject.func();
  • 輸出bar bar undefined bar
  • 因爲第2部分立即執行匿名函數表達式(IIFE)是由window調用的,this指向window
  • 第2部分self.foo找不到會向上查找

43.var one; 只定義未賦值,故one是的值爲undefined,
44.js:

var foo=”Hello”;
(function(){
    var bar=”World”;//var bar=”World”是函數內部聲明的局部變量,外部無法調用,所以外部的alert(foo+bar)會報錯。
    alert(foo+bar);
})();//此函數是一個匿名自執行函數,會先調用並執行一次,即alert (foo+bar)的字符串拼接;
alert(foo+bar);

45.js:

function Foo(){
     var i=0;
     return function(){
         document.write(i++);
     }
}
var f1=Foo(),
f2=Foo();
f1();////return i=1 輸出0
f1();//return i=2 輸出1
f2();//return i=1 輸出0
  • 是閉包,它的最大用處有兩個,可以讀取函數內部的變量,另一個就是讓這些變量的值始終保持在內存中

46.js全局函數:encodeURI、parseFloat、eval,而setTimeout不是

47.border:none以及border:0的區別?

  • border:none表示邊框樣式無,瀏覽器並不會對邊框進行渲染,也就沒有實際的寬度;
  • border:0表示邊框寬度爲0
  • 定義邊框時,除了設置寬度外,還必須設置邊框的樣式才能顯示出來。

48.CommonJS規範,在任何模塊代碼的作用域下內置了以下哪些變量?

  • module
  • exports
  • require
  • global

49.優化 CSS 圖片加載 ?

  • CSSSprite 減少對服務器請求
  • SVGSprite 體積小,矢量
  • Iconfont 體積小,矢量,集成度高
  • Base64 減少對服務器請求

50.HTML5:

  • html5中沒有getContent()和getCanvas方法
  • 調用canvas對象的getContext()方法來獲取繪圖環境

51.與瀏覽列表有關的對象:

  • history
  • screen
  • location
  • Navigator

52.事件:

  • 阻止默認事件:preventDefault()
  • 阻止事件冒泡:stopPropagation()
  • 徹底的阻止事件:stopImmediatePropagation()

53.< svg> 標籤的目的是什麼?用可伸縮矢量圖來畫圖或文本
54.瀏覽器內核:

  • Gecko內核:firefox瀏覽器;
  • Trident內核(又稱爲MSHTML):IE
  • webkit內核:谷歌

55.HTML5中不支持< center>標籤,可以用css代替
56.元素分類:

  • 塊級(自動換行,設置寬高): div,h1-h6,p,pre,ul,ol,li,form,table,label
  • 行內(均不能): a,span,i(斜體),em(強調),sub(下標),sup(上標)等
  • 行塊級元素(僅可設置寬高): (button,input,textarea,select), img

57.怎麼能夠取得 ”wrapper” 中全部項的集合?

<div id=”wrapper”>
	<div class=”wText”></div><!—more wText items here -->
	<div class=”wImg”></div><!—more wImg items here -->
	<div class=”wVideo”></div><!—more wVideo items here -->
</div>
  • $(‘#wrapper’).children(); //查詢直接的子元素。而不管子元素的子元素。
  • $(‘#wrapper’).html(); //返回的是dom結構。而不是集合
  • $(‘#wrapper’).contents();

58.CSS sprites:css精靈;減少圖片的字節,減少網頁的http請求
59.清除浮動方式:

  • 在浮動元素末尾添加一個空的標籤例如 < div style=”clear:both”>< /div>
  • 通過設置父元素overflow值爲hidden
  • 給父元素添加clearfix類

60.不可繼承的屬性包含:margin width padding


如有不當之處,歡迎指正!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章