function commafy(num) { num = num + ; var reg = /(-?d+)(d{3})/; if(reg.test(num)){ num = num.replace(reg, $1,$2); } return num; } commafy(1234);
摘要:棧內存與堆內存簡單類型的值,它們的值直接存儲在變量訪問的位置,這是因為這些簡單類型占據的空間是固定的,所以可將他們存儲在較小的內存區域棧中。 看到一個這樣的問題 function setName(obj) { obj.name = Tom; obj = new Object(); obj.name = Greg ; } var person = new Object();...
摘要:所以,將字符串轉換為對象的程序就是一個編譯器雖然十分簡陋。詞法分析器輸入的這些被輸入語法分析器中進行語法分析。而類似這樣并列的標簽則是語法樹中的兄弟節點。最后,這個玩具級的編譯器能支持的文法其實相當有限,只是的一個子集而已。 虛擬 DOM 幾乎已經是現代 JS 框架的標配了。那么該怎樣將 HTML 字符串編譯為虛擬 DOM 呢?這樣的編譯器并不是什么黑科技,這里只用了不到 50 行 J...
摘要:事件風暴事件風暴就是把所有的關鍵參與者都召集到一個很寬敞的屋子里來開會,并且使用便利貼來描述系統中發生的事情。一張桔黃色的便利貼代表一個領域事件,在上面用一句過去時的話描述曾經發生過什么事情,格式一般是已。 一周前,參加了公司的一個架構設計與建模的工作坊——『事件風暴』。從某種意義上來說,這是一個關于架構設計與軟件建模的工作坊。于是便閃現了一個靈感,便有了 Stepping.js。 當...
摘要:作者先后在工作,期間會參加面試工作。的上下文是,因此已經失去了屬性。一個彈窗庫面試的最后一部分,我會要求面試者寫點實際的東西。這個非常有用,足以了解前端的技術棧。一些面試者會使用絕對定位,而有的面試者則更擅長使用。 文章來自翻譯,其中忽略了一些無關緊要的內容直入主題。 作者先后在twitter,Stripe工作,期間會參加面試工作。實際上參加面試工作的人都知道要想在一個較短的時間內(3...