日常問題總結

2022-07-12 02:48:12 字數 3563 閱讀 1307

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還是object
var 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的...