- angular.isArray(a) 判断a是否为数组
- angular.isDate 是否为时间对象
- angular.isDefined 判断元素是否存在
- angular.isUndefined
- angular.isFunction 是否为函数
- angular.isNumber
- angular.isObject 是否为对象
- angular.isString
- angular.isElement -》这个除了js原生的元素之外,还可以判断jQuery里的元素,比如
window.onload = function(){
console.log(angular.isElement(document.body));//原生
console.log(angular.isElement($(document.body)));//jQuery
};
- angular.version 判断当前用的angular版本,返回的是一个对象,再跟一个full就可以查全部的数字,
angulur.version.full
- angular.equals 两个元素是否相等,除了普通的数据类型外,如果数组里内容一样,也会返回true,连NaN也被认为是一样的
console.log(angular.equals(a,b));
注意的是,如果是json里的key,一个用了引号,一个没写引号,它还是会判断相等的,但是json里的value是不行的,加了引号就成了字符串了
var a = {"a":1,b:2};
var b = {a:1,b:2};
console.log(angular.equals(a,b)) //==>true
- angular.forEach 循环,可以循环数组和
json
,类似与jquery里的循环,但是这里的第一个参数的元素,第二个参数是坐标
另外forEach里的第三个参数是可选的,函数里的this就是指的这个第三个参数,表明在循环的过程中可以对第三个参数进行操作,并且这个参数可以是在函数里申明。
var json = {"name":"Victor","age":"23","gender":"male"};
var arr = [];
angular.forEach(json,function(value,key){
this.push(key+':'+value);
},arr);
//传入第三个参数arr, 这里的this就是第三个参数,即在函数里申明的arr,每次循环就将key和value连接起来,并且push到arr数组里
console.log(arr) ==》 ["name:Victor", "age:23", "gender:male"]
- angular.fromJson/toJson 非常类似于js原生里JSON.parse()和JSON.stringify(),只是从字面上理解有点奇怪,照理fromJson应该是从Json转成string,但事实正好相反
另外,toJson还可以传入第二个参数true,这样转换出来的字符串是一个会在每个键值对后加入换行
var json = {"name":"Victor","age":"23","gender":"male"};
var str = angular.toJson(json,true); //这里设置true之后会将转出来的字符串按照换行的样式格式化,而不是再写在一排里
console.log(str)
/*==>
{
"name": "Victor",
"age": "23",
"gender": "male"
} */
- angular.identity/noop
- angular.lowercase/uppercase
- angular.element
- angular.bootstrap 可以动态初始化angular,而不用写ng-app
另外,其实在整个页面当中,即使申明了2个module,分别挂在不同的标签上,只有第一个module才会起作用,但是如果采用动态的bootstrap方式就可以加载多个module模块
var app = angular.module('myApp',[]);
app.controller('cont1',['$scope',function($scope){
$scope.name = 'hello';
}]);
document.onclick = function(){
angular.bootstrap(document,['myApp']);
}; //如果没有在页面的标签上写任何ng-app="myApp"之类的话,可以在script标签里写上面这段,bootstrap的第一个参数写需要添加把myApp这个模块添加到那里,而这里写document,相当于写在了<html>标签里了,这段的意思是,当点击document的时候正式启动myApp这个模块
- angular.injector