1.html和cssjavascript
引入 css 有哪幾種方式
1.使用<link>標籤,引入外部CSS文件(1.經過@import,引入CSS文件(性能較差) 2.將css的樣式代碼放在html文檔的<style></style>標籤中,引入css) 3.內聯樣式(標籤內部書寫)
position 屬性有哪些值,分別什麼含義
1.position: relative;相對定位(相對於自身) 2.position: absolute;絕對定位(相對於最近一個有定位的父元素偏移) 3.position: fixed;固定定位(相對於瀏覽器窗口) 4.position:static:默認值
css 響應式佈局
1.接在link中判斷設備的尺寸,而後引用不一樣的css文件(<link rel="stylesheet" type="text/css" href="styleB.css" media="screen and (min-width: 600px) and (max-width: 800px)">) 2.直接寫在<style>標籤裏(@media screen and (max-width: 600px) { /*當屏幕尺寸小於600px時,應用下面的CSS樣式*/ .class { background: #ccc; } })
flex:1是什麼意思
1.讓全部彈性盒模型對象的子元素都有相同的長度,且忽略它們內部的內容
CSS 彈性佈局,哪些地方用到過
1.flex佈局
如何實現不定寬高水平和垂直居中
1.最簡單的flex佈局 display: flex; justify-content: center; align-items: center; 2.利用table-cell 外層容器 display:table-cell; text-align:center; vertical-align:middle; 內部元素 vertical-align:middle; display:inline-block; 3.使用CSS3 transform 外層容器 display:relative 內部元素 transform: translate(-50%,-50%); position: absolute; top: 50%; left: 50%;
什麼是盒子模型
由content、padding、border、margin組成的元素就是盒子模型,用來設置元素在網頁中的大小和位置。
2.js問題css
const 和 let 區別,能夠改變 const 定義的某個對象的屬性嗎
let與const都是隻在聲明所在的塊級做用域內有效。 let:無變量提高(未到let聲明時,是沒法訪問該變量的) const:無變量提高,聲明一個基本類型的時候爲常量,不可修改;聲明對象能夠修改 const arr = {name:'小可愛', age:'21'} arr.name = '萱萱' console.log(arr) 由於對象是引用類型的,arr中保存的僅是對象的指針,這就意味着,const僅保證指針不發生改變,修改對象的屬性不會改變對象的指針,因此是被容許的。也就是說const定義的引用類型只要指針不發生改變,其餘的不論如何改變都是容許的。
對閉包的理解,以及哪些地方用過閉包,以及閉包的缺點
閉包 是指有權訪問另外一個函數做用域中的變量的函數,建立閉包的最多見的方式就是在一個函數內建立另外一個函數,經過另外一個函數訪問這個函數的局部變量 1.函數嵌套函數 2.函數內部能夠引用外部的參數和變量 3.參數和變量不會被垃圾回收機制回收 優勢是能夠避免全局變量的污染,變量和方法私有化,不讓外部修改這些屬性 缺點是閉包會常駐內存,會增大內存使用量,使用不當很容易形成內存泄露
對跨域瞭解嗎,jsonp 的限制
跨域就是因爲JavaScript同源策略的限制,使得a.com域名下的js沒法操做b.com或c.a.com域名下的對象或數據。簡單理解同一個 域名、相同端口、相同協議! JSONP(JSON with Padding),就是異步請求跨域的服務器端時,不是直接返回數據,而是返回一個js方法,把數據做爲參數 jsonp只支持get請求而不支持post請求 在登陸模塊中須要用到session來判斷當前用戶的登陸狀態,這時候因爲是跨域的緣由,先後臺的取到的session是不同的,那麼就不 能就行session來判斷.
1-10之間的隨機數
var num=Math.floor(Math.random()*10+1);
javascript的typeof返回哪些數據類型
string,boolean,number,undefined,function,object
ES6 用到過嗎,新增了哪些東西,你用到過什麼
定義變量加入了 let const 箭頭函數 Array.from() 將類數組對象與可遍歷對象轉換爲數組 類class
箭頭函數,箭頭函數的特色,應該是 this 的指向
箭頭函數是匿名函數,不綁定本身的this,arguments,super,new.target 箭頭函數會捕獲其所在上下文的this值,做爲本身的this值,在使用call/apply綁定時,至關於只是傳入了參數,對this沒有影響
瞭解 MVVM 嗎,和 MVC 的區別對象和類的區別,舉個現實中的例子html
你理解的面向對象java
說一下原型鏈json
ES6 新增的 set() 和 map() 有什麼區別跨域
數組去重數組
ES6:Array.from(new Set(arr)); <script type="text/javascript"> let arr = ['1',2,1,3,5,6,5] let arrString = arr.toString() console.log(arrString) arrSplit = arr1.split(',') // 把一個字符串分割成字符串數組。 //join() 把數組中的全部元素放入一個字符串。 console.log(arrSplit) let set = new Set(arrSplit) console.log(set) let newArr = Array.from(set) console.log(newArr) </script>
哪些方法會改變原數組
shift:將第一個元素刪除而且返回刪除元素,空即爲undefined unshift:向數組開頭添加元素,並返回新的長度 pop:刪除最後一個並返回刪除的元素 push:向數組末尾添加元素,並返回新的長度 reverse:顛倒數組順序 sort:對數組排序 splice:splice(start,length,item)刪,增,替換數組元素,返回被刪除數組,無刪除則不返回
深拷貝和淺拷貝async 和 await 瞭解嗎,(不太瞭解,只知道返回的是 promsie 對象)
call() 和 apply() 的區別和做用?瀏覽器
區別:apply()與call()做用沒有區別,用法與call()方法稍有區別,就是call()的第二個參數(調用函數使用的參數),是一個一個傳入的;而apply()的第二個參數的值是使用數組的形式傳入的 做用:在Javascript中,每一個函數都包含兩個非繼承而來的方法,call和apply。這兩個方法的用途都是在特定的做用域中調用函數,實際上等於設置函數體內的this對象的值。 apply方法接收兩個參數,第一個參數是在其中運行函數的做用域,第二個是一個參數數組或者arguments對象。 call方法與apply方法做用相同,第一個參數也相同,區別在於,其他的參數須要逐個列出。 apply(thisArg, argArray); call(thisArg[,arg1,arg2…]); 是使用call仍是apply要看具體的狀況。若是你知道全部參數或者參數的數量很少,可使用call; 若是參數的數量不肯定,或者數量很大,或者你收到的是一個數組或者是個arguments對象,則須要使用apply。