每日總結-Ts+Angularjs+svg 實戰

  • Typescript

1.數值常量,替換無心義的switch 中case 0 ,1 。。。bash

enum Direction {
    Up = 1,
    Down,
    Left,
    Right
}複製代碼

 此時,常量Down,是根據Up ,+1,計算獲得。ide

數值常量枚舉的規則以下:函數

數字字面量引用以前定義的常數枚舉成員(能夠是在不一樣的枚舉類型中定義的) 若是這個成員是在同一個枚舉類型中定義的,能夠使用非限定名來引用。帶括號的常數枚舉表達式+, -, ~ 一元運算符應用於常數枚舉表達式+, -, *, /, %, <<, >>, >>>, &, |, ^ 二元運算符,常數枚舉表達式作爲其一個操做對象。 若常數枚舉表達式求值後爲NaN或Infinity,則會在編譯階段報錯複製代碼

2.字符串常量ui

enum Direction {
    LEFT = "left",
    RIGHT = "right"
}複製代碼

3.返回根據參數類型,返回相同類型,此時用泛型。在函數或者類名、接口名字後添加<T>spa

function identity<T>(arg: T): T {
    return arg;
}複製代碼

類似的,ts存在泛型接口、泛型類code

interface GenericIdentityFn<T> {
    (arg: T): T;
}複製代碼
class GenericNumber<T> {
    zeroValue: T;
    add: (x: T, y: T) => T;
}複製代碼

更高級用法,添加泛型約束:對象

interface Lengthwise {
    length: number;
}

function loggingIdentity<T extends Lengthwise>(arg: T): T {
    console.log(arg.length);  // Now we know it has a .length property, so no more error
    return arg;
}複製代碼

4.約定一個對象的屬性,使用interface.接口

interface Line{   startime:number;   endtime:number}複製代碼

5.three


  • Angualrjs

1.如何判斷爲整數ip

Number.isInteger = Number.isInteger || function(value) {
    return typeof value === "number" && 
           isFinite(value) && 
           Math.floor(value) === value;
};複製代碼

ps:

和全局函數 isNaN() 相比,該方法不會強制將參數轉換成數字,只有在參數是真正的數字類型,且值爲 NaN 的時候纔會返回 true。

Number.isNaN(NaN);        // true
Number.isNaN(Number.NaN); // true
Number.isNaN(0 / 0)       // true

// 下面這幾個若是使用全局的 isNaN() 時,會返回 true。
Number.isNaN("NaN");      // false,字符串 "NaN" 不會被隱式轉換成數字 NaN。
Number.isNaN(undefined);  // false
Number.isNaN({});         // false
Number.isNaN("blabla");   // false

// 下面的都返回 false
Number.isNaN(true);
Number.isNaN(null);
Number.isNaN(37);
Number.isNaN("37");
Number.isNaN("37.37");
Number.isNaN("");
Number.isNaN(" ");複製代碼

Number.isNaN = Number.isNaN || function(value) {
    return typeof value === "number" && isNaN(value);
}複製代碼

2. ES6 `${one}${two}${three}` 與Number.parseInt(str,2)使用

  `${one}${two}${three}` 做爲狀態位,標識狀態

   Number.parseInt(str,2),將十進制轉爲2進制數,某些狀況下,與上述能夠進行逆操做。


  • SVG




參考文獻:

 1. JS doc 

相關文章
相關標籤/搜索