资讯专栏INFORMATION COLUMN

angularjs学习笔记—工具方法

vboy1010 / 629人阅读

摘要:作用返回一个新的函数,绑定这个函数的指向参数新函数的上下文对象需要绑定的函数传递给函数的参数返回值指向的新函数注意会根据你的参数类型来决定调用或,所以可以是一个个数据,也可以是一个数组哦。

angular.bind(self, fn, args)

作用:返回一个新的函数,绑定这个函数的this指向self

参数:

self:新函数的上下文对象

fn:需要绑定的函数

args:传递给函数的参数

返回值:this指向self的新函数

var obj = {
    name: "xxx",
    print: function (country) {
        console.log(this.name + " is form " + country);
    }
};

var self = {
    name: "yyy"
};


var bindFn = angular.bind(self, obj.print, "China");
//var bindFn = angular.bind(self, obj.print, ["China"]);

obj.print("American"); //$ xxx is form American
bindFn(); //$ yyy is form China

  

注意:bind会根据你的参数类型来决定调用call或apply,所以args可以是一个个数据,也可以是一个数组哦。

angular.copy(source, [destination])

作用:对象的深拷贝

参数:

source:源对象

destination:拷贝的对象

返回值:拷贝的对象

var obj = {
    name: "xxx",
    age: 50
};


var copyObj = angular.copy(obj);

console.log(copyObj); //$ Object {name: "xxx", age: 50}

angular.equals(o1, o2)

作用:正常比较和对象的深比较

参数:

o1:比较的对象

o2:比较的对象

返回值:boolean

angular.equals(3, 3); //$ true
angular.equals(NaN,NaN); //$ true
angular.equals({name:"xxx"},{name:"xxx"}); //$ true
angular.equals({name:"xxx"},{name:"yyy"}); //$ false

angular.extend(dst, src)

作用:对象的拓展

参数:

dst:拓展的对象

src:源对象

返回值:拓展的对象

var dst = {name: "xxx", country: "China"};
var src = {name: "yyy", age: 10};

angular.extend(dst, src);

console.log(src); //$ Object {name: "yyy", age: 10}
console.log(dst); //$ Object {name: "yyy", country: "China", age: 10}

angular.forEach(obj, iterator, [context])

作用:对象的遍历

参数:

obj:对象

iterator:迭代函数

context:迭代函数中上下文

返回值:obj

var obj = {name: "xxx", country: "China"};

angular.forEach(obj, function (value, key) {
    console.log(key + ":" + value);
});

//$ name:xxx
//$ country:China

var array = ["xxx", "yyy"];

angular.forEach(array, function (item, index) {
    console.log(index + ":" + item + " form " + this.country);
}, obj);

//$ 0:xxx form China
//$ 1:yyy form China

angular.fromJson(string)

作用:字符串转json对象

参数:

string:字符串

返回值:json对象

var json = angular.fromJson("{"name":"xxx","age":34}");

console.log(json); //$ Object {name: "xxx", age: 34}

angular.toJson(json,pretty)

作用:json对象转字符串

参数:

json:json

pretty:boolean number 控制字符串输出格式

返回值:字符串

angular.toJson({name:"xxx"});
//$ "{"name":"xxx"}"

angular.toJson({name:"xxx"},true);
//$ "{
//$    "name": "xxx"
//$ }"

angular.toJson({name:"xxx"},10);
//$ "{
//$            "name": "xxx"
//$ }"

angular.identity(value)

作用:返回这个函数的第一个参数

参数:

value:参数

返回值:第一个参数

console.log(angular.identity("xxx","yyy")); //$ xxx

angular.isArray(value)

作用:判断一个数据是否是数组

参数:

value:数据

返回值:boolean

angular.isArray(3); //$ false
angular.isArray([]); //$ true
angular.isArray([1, 2, 3]); //$ true
angular.isArray({name: "xxx"}); //$ false

angular.isDate(value)

作用:判断一个数据是否是Date类型

参数:

value:数据

返回值:boolean

angular.isDate("2012-12-02"); //$ false
angular.isDate(new Date()); //$ true

angular.isDefined(value)

作用:判断一个数据是否是defined类型

参数:

value:数据

返回值:boolean

angular.isDefined(undefined) //$ false
angular.isDefined([]); //$ true

angular.isUndefined(value)

作用:判断一个数据是否是undefined类型

参数:

value:数据

返回值:boolean

angular.isUndefined(undefined) //$ true
angular.isUndefined([]); //$ false

angular.isFunction(value)

作用:判断一个数据是否是函数

参数:

value:数据

返回值:boolean

angular.isFunction(function(){}); //$ true
angular.isFunction(3); //$ false

angular.isNumber(value)

作用:判断一个数据是否是Number类型

参数:

value:数据

返回值:boolean

angular.isNumber(4); //$ true
angular.isNumber("xxx"); //$ false
angular.isNumber(new Number(4)); //$ false
angular.isNumber(Number(4)); //$ true

angular.isObject(value)

作用:判断一个数据是否是对象

参数:

value:数据

返回值:boolean

angular.isObject("xxx"); //$ false      
angular.isObject(null); //$ false
angular.isObject([]); //$ true
angular.isObject(function(){}); //$ false
angular.isObject({name:"xxx"}); //$ true

angular.isString(value)

作用:判断一个数据是否是字符串

参数:

value:数据

返回值:boolean

angular.isString(4); //$ false
angular.isString("xxx"); //$ true
angular.isString(new String("xxx")); //$ false
angular.isString(String("xxx")); //$ true

angular.lowercase(string)

作用:将字符串大写字母变小写

参数:

string:字符串

返回值:改变后的新字符串

var newString = angular.lowercase("XXyyZZ");
console.log(newString); //$ xxyyzz

angular.uppercase(string)

作用:将字符串小写字母变大写

参数:

string:字符串

返回值:改变后的新字符串

var newString = angular.uppercase("XXyyZZ");
console.log(newString); //$ XXYYZZ

angular.noop()

作用:空函数

var flag = false;    
flag ? console.log("xxx") : angular.noop();

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/85590.html

相关文章

  • angularjs+springMvc学习笔记

    摘要:回调说白了,就是把函数当参数传给另一根函数,在另一个函数执行时调用此函数例如,在下面这段代码中,上面定义了两个函数和,下面的方法请求成功执行,失败执行异步异步的原理我看了网上的一些博客和例子,大都以定时任务为例子说明,但具体的原理我还是不太 回调 说白了,就是把函数当参数传给另一根函数,在另一个函数执行时调用此函数例如,在下面这段代码中,上面定义了两个函数success和error,下...

    dreamGong 评论0 收藏0
  • angularjs+springMvc学习笔记

    摘要:回调说白了,就是把函数当参数传给另一根函数,在另一个函数执行时调用此函数例如,在下面这段代码中,上面定义了两个函数和,下面的方法请求成功执行,失败执行异步异步的原理我看了网上的一些博客和例子,大都以定时任务为例子说明,但具体的原理我还是不太 回调 说白了,就是把函数当参数传给另一根函数,在另一个函数执行时调用此函数例如,在下面这段代码中,上面定义了两个函数success和error,下...

    rozbo 评论0 收藏0
  • AngularJS学习笔记(1) --- 执行过程

    摘要:前言由于在博客系统的开发中和近期工作中的前端框架主要使用因此在这里记录学习和使用的过程中遇到的一些需要记录的点。执行过程弄清楚的执行过程是很重要的,这样你才能在正确的时机做正确的事。至此,的执行过程也就告一段落了。 前言 由于在博客系统的开发中和近期工作中的前端框架主要使用 AngularJS ,因此在这里记录学习和使用 AngularJS 的过程中遇到的一些需要记录的点。特别说明,本...

    taohonghui 评论0 收藏0
  • angularjs学习笔记——使用requirejs动态注入控制器

    摘要:最近一段时间在学习,由于觉得直接使用它需要加载很多的文件,因此想使用来实现异步加载,并动态注入控制器。手动启动,特别说明此处的不是那个框架,而是的一个手动启动框架的函数中完成了各模块的初始化,并且引入了。 最近一段时间在学习angularjs,由于觉得直接使用它需要加载很多的js文件,因此想使用requirejs来实现异步加载,并动态注入控制器。简单搜索了下发现好多教程写的都很复杂,所...

    王军 评论0 收藏0
  • 《Build your own AngularJS笔记分享

    摘要:初次写文章,请多多包涵我最近正在根据这本书从头开始实现了一遍的框架。笔记目录链接个人认为本书对于想了解框架源码的读者来说相当有用,完全值得去购买这本书书本主页。因为是初学者,笔记里可能有一些错误,我也会继续修改。 (初次写文章,请多多包涵) 我最近正在根据《Build your own angularJS》这本书从头开始实现了一遍AngularJS的框架。我把相关的源码和我的个人学习笔...

    firim 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<