在銳3圖庫:馬特斯奈德的數模
2010年3月10日17:45由馬特斯奈德|在發展 , 銳3圖庫 | 沒有評論 作者簡介:
馬特斯奈德是導致前端工程師Mint.com(現在是Intuit公司的一部分),在那裡他廣泛利用銳在表示層。 他也是作者的一種流行的博客上的JavaScript 。 馬特貢獻了銳2存儲工具 ,以銳,是一個活躍的社區成員,你可以看到他的介紹,從YUIConf 2009年銳劇院 。
原生,JavaScript有一個非常有限的功能,能使用數位於全球數學對象。 這些功能大多是使用指數,三角,並四捨五入。 雖然這些功能都需要高效, 數學空氣污染指數一直保持不變多年,可能不會得到改善隨時在不久的將來。 因此,它是由開發的JavaScript庫來創建和維護一個組件用於處理數字。
該元件的數量在銳3圖庫 ,來自工作的原本用於Mint.com ,旨在填補失踪人數相關的功能。 它提供一個輕量級的一套功能,使用靜態的數字。 在數字組件重量為約 1.8kb gzip壓縮後縮小之前,它的支持,所有A級瀏覽器。
其中一個特徵數字,我用的最多的是format()函數,它注入一個格式化的數字為字符串通過評估的格式字符串中的佔位符數。 (注:這是類似的格式支持Y.DataType.Number目前提供的,但捲起單獨的配置屬性的Y.DataType.Number.format接收到一個單一的格式模式字符串。)這個函數適用於所有的符號,但它的格式的數字根據英語水平。 這裡有幾個例子,如何使用format()從單元測試:
例1111.11風險, formatDollars =“$ 0,0.00'”/ /使用逗號和小數點格式化時 formatPercent =“0.00%”,/ /格式化時使用十進制 formatRound =“0000”,/ /格式化時使用逗號 formatText =“請添加$ 0,0.00到我的標籤!”; Y.Assert.areEqual(“$ 1,111.11”,Y.Number.format(氮,formatDollars)); Y.Assert.areEqual(“1111.11%”,Y.Number.format(氮,formatPercent)); Y.Assert.areEqual(“1,111”,Y.Number.format(氮,formatRound)); Y.Assert.areEqual(“請添加$ 1,111.11我的標籤!”,Y.Number.format(氮,formatText));
其他有用的功能包括:
-
random()提供一個簡單的API,用於獲取隨機整數; -
isBetween()/isNotBetween()簡化的評價和研究號碼範圍; -
radian()/degrees()當使用數學三角函數(如Math.cos()它期望弧度,而不是學位,既radian()和degrees()是有用的轉換值。
使用數字畫廊組成部分,首先包括該腳本:
<腳本 鋼骨混凝土=“http://yui.yahooapis.com/combo?3.0.0/build/yui/yui-min.js& gallery-2010.02.22-22/build/gallery-number/gallery-number-min.js“> </腳本>
然後包括'gallery-number'在您的use()函數,以獲得以下功能:
銳()。使用('畫廊數',函數(Y){ 華數 = { 度(數), 格式(數字,格式) getPrecision(編號), isNotBetween(數字,數字,數字,布爾值), isBetween(數字,數字,數字,布爾值), isPrime(編號), 弧度(編號), 隨機(數字,數字), roundToPrecision(數字,數) }; });
這些功能是仿照原生數學函數和,如數學函數的職能Y.Number返回NaN ,如果提供的值不是一個數字。 如果你想的發展做出貢獻或需要新的功能添加到號碼,請留言,上論壇 。


