1、vue響應式的原理,資料更新後怎麼觸發的dom的更新(詳細原理)
首先資料的改變會觸發setter的操作,
2、promise中tehn後面的第二個引數代表什麼含義,all的含義用法
3、js嚴格模式與普通模式的區別,開啟後有什麼不同
4、箭頭函式與普通函式有什麼區別
5、bable版本
bable6
bable7
6、檢驗乙個物件是否是空值(1) object.keys(obj).length==0
(2) for(let key in obj)
return false
}(3) json.stringify(obj=='{}'
7、判斷乙個物件obj是array還是objectvar arr = ['aa','bb','cc'];
var obj = ;
(1)obj._proto_==object.prototype //如果是某個建構函式構造出來的那麼 它的 _proto_是指向建構函式的 prototype屬性
(2)object.prototype.tostring.call(obj) === '[object array]'||'[object object]'
(3)array.isarray() //true 只能判斷是否是陣列
(4)obj.constructor===array||object
(5)使用instancof 陣列也是物件的一種,使用instanceof都會返回true,因此不準確
console.log(arr instanceof array); //true
console.log(arr instanceof object); //true
console.log(obj instanceof array); //false
console.log(obj instanceof object); //true
object.prototype.tostring.call(),更加精準
8、flex連寫的屬性代表指什麼(1)flex-grow 乙個數字,規定專案將相對於其他靈活的專案進行擴充套件的量。
(2)flex-shrink 乙個數字,規定專案將相對於其他靈活的專案進行收縮的量。
(3)flex-basis專案的長度。合法值:"auto"、"inherit" 或乙個後跟 "%"、"px"、"em" 或任何其他長度單位的數字。
9、元素垂直水平居中的方法(1)把元素變成定位元素,設定元素的定位位置,距離上、左都為50%,設定元素的左外邊距、上外邊距為寬高的負1/2
(2)把元素變成定位元素,設定元素的定位位置,距離上、左都為50%,設定元素的相對於自身的偏移度為負50%(也就是元素自身尺寸的一半)
(3)把元素變成定位元素,設定元素的定位位置,距離上、下、左、右都為0,設定元素的margin樣式值為 auto
(4)flex布局,橫軸,縱軸都居中
10、如果實現乙個observer,有on emit remove方法
11、this.$nexttick之後做了什麼
12、array.from(of)作用
array.from將乙個類陣列轉換為乙個真實陣列
(1)該類陣列物件必須具有length屬性,用於指定陣列的長度。如果沒有length屬性,那麼轉換後的陣列是乙個空陣列。
(2)該類陣列物件的屬性名必須為數值型或字串型的數字
(3)可以接收第二個引數,類似於map函式,對每個元素進行處理
如 console.log(array.from(arraylike, item => item + 1))
array.of用於將一組值轉換為陣列,總是返回引數值組成的陣列。如果沒有引數,就返回乙個空陣列。
(1)array.of基本上可以用來替代array()或new array(),並且不存在由於引數不同而導致的過載。它的行為非常統一。
這個方法的主要目的,是彌補陣列建構函式array()的不足。因為引數個數的不同,會導致array()的行為有差異
13、const定義變數有何意義
(1)定義的基本型別變數存貯在記憶體棧中,是不能被更改的
(2)定義的引用型別同時占用棧記憶體和堆記憶體,是可以更改其屬性的。也可以新增賦值,但是不能重新定義因為那樣會改變在棧中的位址。
例如const a=
console.log(a.name) //haha
a.age'20'
console.log(a.age) //20
////////////
a=console.log(a.name) //uncaught syntaxerror: identifier 'c' has already been declared
14、字串倒序輸出function myreverse(str)
15、class中的super欄位含義作用
(1)子類繼承中 constructor 方法中必須有 super ,且必須出現在 this 之前。
(2)可以通過 super(..) 來實現相對多型,這樣任何方法都可以引用原型鏈上層的同名方 法。
16、盒子模型的區別
(1)標準盒子模型中寬度是
width:margin*2+border*2+padding*2+width;
height:margin*2+border*2+padding*2+height;
(2)ie盒子模型中border
上面的兩個寬度相加的屬性是一樣的。不過在ie中content的寬度包括padding和border這兩個屬性;
例如乙個盒子模型如下:margin:20px,border:10px,padding:10px;width:200px;height:50px;
如果用w3c盒子模型解釋,那麼這個盒子模型占用的
寬度為:20*2+10*2+10*2+200=280px;
高度:20*2+10*2+20*2+50=130px;
盒子的實際寬度大小為:10*2+10*2+200=240px;
實際高度:10*2+10*2+50=90px;
用ie的盒子模型解釋 :盒子在網頁中佔據的大小為20*2+200=240px; 高:20*2+50=90px;
盒子的實際大小為:寬度:200px, 高度:50px;
17、事件委託就是把乙個元素響應的事件,委託到另乙個元素上,通過該元素進行觸發。通常繫結父元素上
利用的是事件冒泡的機制,當事件觸發在父元素時,事件會先向下進入捕獲階段,我們通過判斷target上的一些屬性,可以精確匹配到某乙個元素上。
優點:減少效能消耗,若果我們有乙個列表,列表之中有大量的列表項,我們需要在點選列表項的時候響應乙個事件;如果給每個列表項一一都繫結乙個函式,那對於記憶體消耗是非常大的,效率上需要消耗很多效能; 比較好的方法就是把這個點選事件繫結到他的父層,也就是 ul 上,然後在執行事件的時候再去匹配判斷目標元素;所以事件委託可以減少大量的記憶體消耗,節約效率。
日常問題總結(1)
c 中datatable中的compute方法使用收集 compute函式的引數就兩個 expression,和filter。expresstion是計算表示式,而filter則是條件過濾器,類似sql的where條件。參考部落格 在專案組裡運用的地方是,從dataset裡取出乙個欄位的綜合,條件是...
日常問題總結(5)
asp.net c 清除全部session與單個session 參考session.abandon 清除全部session 清除某個session session username null session.remove username session.clear session.remove u...
日常問題總結(8)
div中table居中 有時候在div中加上 裡面的table是不會居中的我們可以在table中加上 margin auto比如 使用控制項控制中英文切換 就是使用大量的asp.net控制項,使用dropdownlist獲取中英文選擇提示,然後更新各個控制項包括label,button,image的...