一、下面幾個都會轉化為0:
Number()
Number(0)
Number('')
Number('0')
Number(false)
Number(null)
Number([])
Number([0])
其他:
console.log(Number("")); //0
console.log(Number(null)); //0
console.log(Number(undefined)); //NaN
console.log(parseInt("")); //NaN
console.log(parseInt(null)); //NaN
console.log(parseInt(undefined)); //NaN
console.log(null == 0); //false
console.log(undefined == 0); //false
二、在ES6中提供了什么用于二進制的操作?
ArrayBuffer、TypeArray、DataView
三、請寫出HTML5新增的布局標簽 :
header、hgroup、nav、aside、section、article、footer、figure、menu
四、請使用CSS3畫出一個線性漸變,漸變的方向是從右上角到左下角,起點顏色是從白色到黑色,請寫出標準的寫法 。
<style>
.gra{
width:100px;
height:100px;
background:linear-gradient(to top right,#000,#fff)
}
</style>
<div class="gra">
</div
五、Doctype 嚴格模式與混雜模式的區別在哪里?
嚴格模式是瀏覽器根據web規范去顯示頁面,是一種要求嚴格的DTD,不允許使用任何表現層的語法;混雜模式是以一種向后兼容的方式去顯示,說的透明點就是可以實現IE5.5以下版本瀏覽器的渲染模式。
不同瀏覽器對代碼的解析模式不同,使用Doctype嚴格模式能使瀏覽器用采用同一標準進行解析,避免了混雜模式,造成不同瀏覽器不同的頁面顯示。
其他:
1)、<!DOCTYPE> 聲明位于文檔中的最前面,處于 <html> 標簽之前。告知瀏覽器以何種模式來渲染文檔。
2)、嚴格模式的排版和 JS 運作模式是 以該瀏覽器支持的最高標準運行。
3)、在混雜模式中,頁面以寬松的向后兼容的方式顯示。模擬老式瀏覽器的行為以防止站點無法工作。
4)、DOCTYPE不存在或格式不正確會導致文檔以混雜模式呈現。
六、null和undefined的區別?
NULL是對象,undefined是一個數據類型
null是一個表示”無”的對象,轉為數值時為0;undefined是一個表示”無”的原始值,轉為數值時為NaN。
當聲明的變量還未被初始化時,變量的默認值為undefined。
null用來表示尚未存在的對象,常用來表示函數企圖返回一個不存在的對象。
undefined表示”缺少值”,就是此處應該有一個值,但是還沒有定義。
七、ECMAScript和javaScript的關系?
js是一種專為與網頁交互而設計的腳本語言,由下列三個不同部分組成:
核心ECMAScript,提供核心語言功能;
文檔對象模型(DOM),提供訪問和操作網頁內容的方法和接口;
瀏覽器對象模型(BOM),提供與瀏覽器交互的方法和接口。
JavaScript包括了核心ECMAScript。可以理解為:ECMAScript是js的一部分。
八、哪些操作會造成內存泄漏?
內存泄漏指任何對象在您不再擁有或需要它之后仍然存在。
會造成內存泄漏的操作:
1、閉包引起的內存泄漏;
2、意外的全局變量引起的內存泄漏;
3、沒有清理的DOM元素引起的內存泄漏;
4、被遺忘的定時器或者回調函數;
5、子元素存在引用引起的內存泄漏;
九、簡單陳述下你對MVC的理解
MVC模式(Model–view–controller)是軟件工程中的一種軟件架構模式,把軟件系統分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller)。
Model(模型)表示應用程序核心(比如數據庫記錄列表);
View(視圖)顯示數據(數據庫記錄);
Controller(控制器)處理輸入(寫入數據庫記錄);
優點:
MVC 分層有助于管理復雜的應用程序;
MVC 分層同時也簡化了分組開發;
MVC模式的這三個部分的職責非常明確,而且相互分離,因此每個部分都可以獨立的改變而不影響其他部分,從而大大提高了應用的靈活性和重用性;
十、求 10000 以內 3 和 5 的倍數和,寫出JavaScript實現函數
function fun(){
var sum=0;
for(i=0;i<=10000;i++){
if(i%3==0||i%5==0){
sum+=i;
}
}
return sum;
}
十一、請編寫一個JavaScript函數,實現清除數據中重復的元素
function remove(arr){
var res=[];
var len=temp.length;
for(var i=0; i<len; i++){
var item=arr[i];
if(res.indexOf(item)<0){
res.push(item);
}
}
return res;
}