選擇題:HTML+CSS+JS
參考鏈接:https://www.nowcoder.com/
非商業用途自由轉載,保持署名,註明出處!
- onBlur:失去焦點觸發;function關鍵字不屬於對函數的調用,而是對函數的聲明;
- 設置一般用set開頭,獲取用get開頭;
- 作用域:限定可用性的範圍;作用域鏈:決定哪些數據能被函數訪問;with try-catch eval都會改變作用域鏈,while不會;
- 沒有文檔類型聲明則會開啓混雜模式
- ^ 以。。。開頭;$以。。。結尾;*任意多次; |或的意思; ()組; []集合;
- < hearder>:定義文檔頁眉;只有一個標題元素(h1-h6中的一個),並不需要< hgroup>,.當出現一個或者一個以上的標題與元素時,適用< hgroup>來包圍他們(已廢棄);
- 百分數是相對於父元素的width計算的;
- 分析以下函數:
(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
如有不當之處,歡迎指正!