JS冷門知識盤點

2022-06-09 10:09:10 字數 2290 閱讀 8180

(+newdate()

是簡略寫法,得到毫秒

超過多行顯示省略號

overflow : hidden;

text-overflow: ellipsis;

display: -webkit-box;

-webkit-line-clamp: 2;

-webkit-box-orient: vertical;

建構函式才有prototype(可以構造其它物件);

物件的__proto__ 指向其建構函式的prototype屬性,建構函式的prototype有個constructor屬性指向建構函式本身。

number,string,object的__proto__都指向function的prototype;

lastindexof()為某個字元最後出現的位置,從後往前查詢;

isprototypeof是否是原型

hasownproperty()判斷自身的屬性還是繼承來的

in運算子可以用來判斷,某個例項是否含有某個屬性,不管是不是本地屬性。

呼叫resolvereject並不會終結 promise 的引數函式的執行。

new promise((resolve, reject) => ).then(r => );// 2

// 1

then方法返回的是乙個新的promise例項(注意,不是原來那個promise例項)。因此可以採用鏈式寫法,即then方法後面再呼叫另乙個then方法。

getjson("/posts.json").then(function(json) ).then(function(post) );

如果非同步操作丟擲錯誤,狀態就會變為rejected

,就會呼叫catch方法指定的**函式,處理這個錯誤。另外,then方法指定的**函式,如果執行中丟擲錯誤,也會被catch方法捕獲。

下面兩種寫法是等價的。

// 寫法一

const promise = new promise(function(resolve, reject) catch(e)

});promise.catch(function(error) );

// 寫法二

const promise = new promise(function(resolve, reject) );

promise.catch(function(error) );

比較上面兩種寫法,可以發現reject方法的作用,等同於丟擲錯誤。

如果 promise 狀態已經變成resolved,再丟擲錯誤是無效的。

const promise = new promise(function(resolve, reject) );

promise

.then(function(value) )

.catch(function(error) );// ok

上面**中,promise 在resolve語句後面,再丟擲錯誤,不會**獲,等於沒有丟擲。因為 promise 的狀態一旦改變,就永久保持該狀態,不會再變了。

promise 物件的錯誤具有「冒泡」性質,會一直向後傳遞,直到**獲為止。也就是說,錯誤總是會被下乙個catch語句捕獲。

一般來說,不要在then方法裡面定義 reject 狀態的**函式(即then的第二個引數),總是使用catch方法。

一般總是建議,promise 物件後面要跟catch方法,這樣可以處理 promise 內部發生的錯誤。catch方法返回的還是乙個 promise 物件,因此後面還可以接著呼叫then方法。

Python冷門知識之dictproxy

眾所周知,python大部分物件的屬性都是由 dict 特殊屬性完成的,而且這個 dict 不僅物件可改變,而且這個屬性本身就可改變。class c object pass obj c obj.sth 10print obj.dict obj.dict sth 100print obj.sth 10...

MaxScript 冷門知識點

teapot001 返回 teapot teapot001 22.317734,36.929871,0.000000 t 返回所有名字前面是t的物體集合 返回 objects t 作用1 包裹後可以使用任意符號作為變數名,比如空格開頭,數字開頭,桌子為了 人性化真是下了苦心 作用2 選擇帶有空格或者...

C語言冷門知識 柔性陣列

什麼是柔性陣列?c99 中,結構中的最後乙個元素允許是未知大小的陣列,這就叫做 柔性陣列 成員。我對此的理解 為 1.是結構體的最後乙個元素。2.具有0個元素。3.無大小 例 我們知道在c語言的語法中不允許存在大小未知的陣列,但由上柔性陣列是個例外,在結構體中 arr是不會發生報錯。柔性陣列的特點 ...