angularjs里面怎样添加一个全局数组

JavaScript012

angularjs里面怎样添加一个全局数组,第1张

要实现的功能是,在ng-app中定义的全局变量,在不同的ng-controller里都可以使用。

1,通过var 直接定义global variable,这根纯js是一样的。

2,用angularjs value来设置全局变量 。

3,用angularjs constant来设置全局变量 。

- window.Array 全局对象(也是函数)

(1) 创建数组

注意: Array 加 new 与不加 new 效果都一样。

结论:1. number , string , boolean 等基本数据类型对应的构造函数,不加 new 的话返回的还是基本数据类型,加 new 的话返回的是复杂类型即对象( object )。

2. object ( array , function )等对应的构造函数,加 new 与不加 new 形式都一样。

window.Function 全局对象(也是函数)

注意:加不加 new 结果一样

1.具名函数

2.匿名函数

3.具名函数 + var

4.window.Function + var

注意: function 关键字 用来声明一个函数。

Function 全局对象

一般不推荐用第四种。

人类理解:数组就是数据的有序集合

JS理解:数据就是原型链中有 Array.prototype 的对象

伪数组 :1.有 0,1,2,3,4,5...n,length 这些 key 的对象。

2.原型链中没有 Array.prototype 。

目前知道的伪数组: arguments 对象

document.querySelectAll('div') 返回的对象

1. Array.prototype.forEach

使用forEach时需要接受一个函数,这个函数必须接受两个函数。

3. Array.prototype.join

将一个数组的所有元素连接成一个字符串并返回这个字符串。

7. Array.prototype.reduce

遍历一个数组,每次取个结果,并放到下一项身上。

注意:最后一段是箭头写法,比较美观。

RegExp()的第二个参数主要支持g,i,m这3个修饰性字符

字符g,用来指定全局匹配

字符 i ,是用来指定大小写为等同;

字符 m 是多行一词的缩写,设置匹配模式能够在多行字符串中执行操作

var a = "javasssss"

    var s = new RegExp("a","gi")

    alert(a.match(s))

返回值为a,a

var a = "javasssss sssswww aaaaa"

    var s = new RegExp("\\b\\w","gi")

    alert(a.match(s))

返回值为j,s,a

\\b\\w是一个匹配模式,其中反斜杠表示转义序列,而双斜杠表示的是斜杠的意思,\b表示边界的意思\w表示的任意的ASCii码,指的就是每一个单词的首字母;

var a = "javasssss sssswww aaaaa"

    var r=new RegExp("\\x61")

    var s=a.match(r)

    alert(s)

x61表示的是a的十六进制的ascii码,除了十六进制以外,还可以直接使用八进制数值来匹配例如;

var a = "javasssss sssswww aaaaa"

    var r=new RegExp("\\141")

    var s=a.match(r)

    alert(s)

js中的特殊字符

\o表示空字符   

\t表示制表位

\n表示换行符

\v表示垂直制表符

\f表示换页符

\r表示回车符

\a表示alert字符

\e表示escape字符

\b表示回退字符

\cX表示控制自负^x

对于这些特殊的字符,如果在RegExp构造函数中使用,必须使用双斜杠表示专业。

定义简单的字符类

var a = "javasssss sssswww aaaaa"

    var r=new RegExp("[abcsw]","gi")

    var s=a.match(r)

    alert(s)

返回值为

查找字符串中是否有字符类中的字母

定义反义字符类

var a = "aba abd abg abe"

    var r=new RegExp("ab[^abc]","gi")

    var s=a.match(r)

    alert(s)

返回值为

第三个字符表示除了a,b,c以外的字符都可以

var r= new RegExp("[^012345679]","gi")

匹配除了数字以外任意的字符。反义字符类比简单字符类更加强大和实用

如果任意双字节的汉字,你可以这样设计

var r=new RegExp("\\u0000-\\u00ff","gi");

预定义字符类