20160128 TypeScript 中 any 类型&&TypeScript 访问数组&&网页的 url 提取等号前后的两项

TypeScript 中 any 类型

TypeScript 中如果将变量类型定义为 any,则后面可以给变量赋值,但是变量的类型不会因此改变。所以变量加 . 也不会出现任何的方法。所以在程序里将它定义为泛型

var ddl = {
        MaterialType: <IDDL>null,   
        SalesType: <IDDL>null,
        ManufactureType: <IDDL>null,
        Formulation: <IDDL>null,
        MedicareProperty: <IDDL>null
    };

TypeScript 访问数组

像定义用参数类型访问的情况

var obj = {
    name: "zhaqngsan",
    age: 100
}
var a = "name";//"age"
// 这里直接 obj[a] 并不能识别出它是什么类型的,所以无法对应相应的方法
// 所以要通过前面加泛型的转换方式告诉他是什么类型的
(<string>obj[a])

程序里面写到

var val: number = parseInt((<IDDL>ddl[ddlName]).value());

网页的 url 提取等号前后的两项

网页的 url 中可能会很多种情况

id=a34166fc-411a-cb18-c74e-08d326032ae0&&&name==111&gg=1&gg=2&=kkk&=&

因为 url 可以由用户自己修改,可能会有很多种情况。
这时就需要判断前面和后面的项是不是必须的(前面是必须的后面不是)
可以先用一个正则表达式过滤掉无用的字符

var reg = /([^?&=]+)=([^?&=]*)/g;

[]:匹配其中任何一个字符
[]中的 ^ 不再是一行字符串的开始,而是“ 非 ”的意思。就是不包含其中任何一个字符。