Angular工具方法学习
发布时间 - 2026-01-10 22:07:34 点击率:次angular为我们提供了很多的工具方法。

angular.bind 更改this指向
var obj1 = {
name : 'obj1',
show : function(str){
return this.name + str;
}
};
var obj2 = {
name : 'obj2'
};
var a = angular.bind(obj2,obj1.show,' is a object');
var b = angular.bind(obj2,obj1.show,[' is a object']);
console.log(a());
angular.bind会根据你的参数类型来决定调用call或apply,注意a和b後面传递的参数,a是传递一个字符串,b是传递一个数组。
angular.copy 拷贝
var a = {
name : 'hello'
};
var c = angular.copy(a);
console.log(c);
angular.extend 继承
var a = {
name : 'hello'
};
var b = {
age : 20
};
var c = angular.extend(a,b);
console.log(c);
angular.extend 比较
console.log(angular.equals(1,1)); //true
console.log(angular.equals({name:'xxx'},{name:'xxx'})); //true
console.log(angular.equals({name:'xxx'},{name:'yyy'})); //false
console.log(angular.equals(NaN,NaN)); //true
console.log(NaN == NaN); //false
console.log(NaN === NaN); //false
注意最後NaN和NaN的比较,在原生JS中都是为false的,但是在angular中尉true。
angular.forEach 遍历
var array = ['a','b','c'];
angular.forEach(array,function(value,i){
console.log(value,i);
console.log(this);
});
遍历数组,对象也可以。value表示值,i表示索引,而this表示window对象。(在angular.forEach中我们传递了两个参数,1是遍历的数组,2是匿名函数)
var array = ['a','b','c'];
var result = [];
angular.forEach(array,function(value,i){
//遍历查找数组时,我们可能是为了获取某些值
if(value === 'a'){
//如果数组中有'a'的话,就存入到result中,这里的this就代表result
this.push(value);
};
},result);
console.log(result);
这个时候我们三个参数,1是遍历的数组,2是匿名函数,3是结果集(当传递了第三个参数的时候angular.forEach里面的this就会是一个空数组,否侧为window对象)。
angular也为我们提供了原生的JSON.parse()以及JSON.stringify()方法。
var str = '{"name" : "xiecg","age" : "18"}';
var json = angular.fromJson(str);
console.log(json);
将一个字符串的json解析成对象。
var str = {"name" : "xiecg","age" : "18"};
var json = angular.toJson(str,true);
console.log(json);
将一个json解析成字符串(後面传入一个true可换行,便于阅读)
辅助方法
console.log( angular.identity(1,2,3) ); //返回第一个参数
var flag = false;
flag ? console.log('xxx') : angular.noop(); //空函数,防止出错
大小写转换
console.log(angular.uppercase('hello')); //转成大写
console.log(angular.lowercase('HELLO')); //转成小写
判断类型
var a = []; console.log(angular.isArray(a)); //true angular.isArray //判断一个元素是否是数组 angular.isDate //判断一个元素是否是时间对象 angular.isDefined //判断一个元素是否存在 angular.isUndefined //判断一个元素是否是undefined angular.isFunction //判断一个元素是否是个函数 angular.isNumber //判断一个元素是否是数字 angular.isObject //判断一个元素是否是对象 angular.isString //判断一个元素是否是字符串 angular.isElement //判断一个元素是否是html节点元素(JQ获取的元素也是可以判断到的)
文件信息
console.log( angular.version )
angular也提供了部分JQ中的方法
<!DOCTYPE HTML>
<html ng-app>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>DEMO</title>
<script type="text/javascript" src="https://code.angularjs.org/1.3.8/angular.min.js"></script>
</head>
<body>
<div id="box">1</div>
<script type="text/javascript">
document.onclick = function(){
var oDiv = document.getElementById('box');
angular.element(oDiv).css('background','red');
console.log(angular.element(oDiv)); //查看原型上挂载的方法
};
</script>
</body>
</html>
console.log(angular.element(oDiv));
是不是很熟悉呢 ? 如果将JQ引入进来方法会更多。
# Angular
# 工具方法
# js调试工具console.log()方法查看js代码的执行情况
# node.js版本管理工具n无效的原理和解决方法
# js实现带关闭按钮始终显示在网页最底部工具条的方法
# PHP小技巧之JS和CSS优化工具Minify的使用方法
# JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
# 将nodejs打包工具整合到鼠标右键的方法
# js工具方法弹出蒙版
# 常用Extjs工具:Extjs.util.Format使用方法
# 一款js和css代码压缩工具[附JAVA环境配置方法]
# 解决http://16a.us/2.js之arp欺骗的方法附专杀工具
# 遍历
# 转成
# 都是
# 是一个
# 就会
# 是个
# 第一个
# 中有
# 这个时候
# 也为
# 第三个
# 很熟悉
# 是否存在
# 换行
# 是为了
# 上挂
# 法会
# 但是在
# js
# var
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在 React 中条件性地遍历数组并渲染元素
浅述节点的创建及常见功能的实现
jQuery validate插件功能与用法详解
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
java获取注册ip实例
如何快速选择适合个人网站的云服务器配置?
Laravel如何保护应用免受CSRF攻击?(原理和示例)
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
Laravel怎么清理缓存_Laravel optimize clear命令详解
微信小程序 HTTPS报错整理常见问题及解决方案
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
php485函数参数是什么意思_php485各参数详细说明【介绍】
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
使用豆包 AI 辅助进行简单网页 HTML 结构设计
UC浏览器如何设置启动页 UC浏览器启动页设置方法
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
如何彻底卸载建站之星软件?
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
Laravel如何实现数据库事务?(DB Facade示例)
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
bing浏览器学术搜索入口_bing学术文献检索地址
网站制作壁纸教程视频,电脑壁纸网站?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
制作旅游网站html,怎样注册旅游网站?
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
教你用AI将一段旋律扩展成一首完整的曲子
Linux系统运维自动化项目教程_Ansible批量管理实战
手机软键盘弹出时影响布局的解决方法
JavaScript如何实现继承_有哪些常用方法
微信h5制作网站有哪些,免费微信H5页面制作工具?
Laravel如何使用Collections进行数据处理?(实用方法示例)
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
HTML 中动态设置元素 name 属性的正确语法详解
网站制作免费,什么网站能看正片电影?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
新三国志曹操传主线渭水交兵攻略

