【学】AngularJS日记(1) - 常用工具
- 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
【学】AngularJS日记(1) - 常用工具的更多相关文章
- 【pwn】学pwn日记——栈学习(持续更新)
[pwn]学pwn日记--栈学习(持续更新) 前言 从8.2开始系统性学习pwn,在此之前,学习了部分汇编指令以及32位c语言程序的堆栈图及函数调用. 学习视频链接:XMCVE 2020 CTF Pw ...
- 谷哥的小弟学前端(02)——HTML常用标签(2)
探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 详解Android主流框架不可或缺的基石 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架 ...
- 谷哥的小弟学前端(01)——HTML常用标签(1)
探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 详解Android主流框架不可或缺的基石 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架 ...
- java 微信开发 常用工具类(xml传输和解析 json转换对象)
与微信通信常用工具(xml传输和解析) package com.lownsun.wechatOauth.utl; import java.io.IOException; import java.io. ...
- 学习游戏服务器开发必看,C++游戏服务器开发常用工具介绍
C++游戏服务器开发常用工具介绍 在软件开发过程中需要使用的工具类型实属众多,从需求建模到软件测试,从代码编译到工程管理,这些工具都对项目有着不可替代的作用.庄子有云,"吾生也有涯,而知也无 ...
- 简单了解Spring中常用工具类_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 文件资源操作 Spring 定义了一个 org.springframework.core.io.Resource 接口, ...
- 浅谈集合框架三、Map常用方法及常用工具类
最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...
- 盘点Linux运维常用工具(一)-web篇之httpd
#前言:想把自己学的各种服务进行分类归档起来,于是就写了盘点Linux运维常用工具,Linux方面使用到的web应用服务有httpd(apache).nginx.tomcat.lighttpd,先了解 ...
- js常用工具类.
一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
- Linux 常用工具小结:(5) lftp工具使用
Linux 常用工具小结:(1) lftp工具使用. 这里会按照一些比较常用的功能列出,并举一个具体的例子逐一解释功能. 通常使用ftp过程是登陆ftp,浏览ftp内容,下载ftp文件,或者上传ftp ...
随机推荐
- IBM Domino 9 出现 Domino Designer 您正在试图升级多用户安装。请获取正确的安装包以完成升级。 解决方案
如果网上搜索的其他方法解决不了,那么我的这个方法可以试一下. 出现的场景: 先装好了Notes,后准备装Designer. 在装Designer解压包之后,出现下面的错误,不能安装: 您正在试图升级多 ...
- amazon oa1 - search in 2D array II [Leetcode] 240
https://leetcode.com/problems/search-a-2d-matrix-ii/ 巧解题,矩阵本身等于了一个binary search tree,从中值开始走 时间复杂度 O( ...
- your local repository contains non-ascii
安装CCS时候遇到 your local repository contains non-ascii 问题. 解决方法: 不要在中文目录下安装.
- Launching the Debugger Automatically
You can set up your application to start Visual Studio when you launch the application from Windows. ...
- linux压缩解压文件
首先进入文件夹 cd /home/ftp2/1520/web 压缩方法一:压缩web下的888.com网站 zip -r 888.com.zip888.com 压缩方法二:将当前目录下的所有文件和文件 ...
- IE8利用setCapture和releaseCapture解决iframe的拖拽事件
最近有个需求须要实现左右拖拽功能,页面右边是个iframe页面,在chrome测试通过之后,发现在ie8上面效果不是很理想,最后查找资料得知可以使用ie自带的setCapture和releaseCap ...
- 15 cvpr An Improved Deep Learning Architecture for Person Re-Identification
http://www.umiacs.umd.edu/~ejaz/ * 也是同时学习feature和metric * 输入一对图片,输出是否是同一个人 * 包含了一个新的层: include a lay ...
- Tomcat的ISO-8859-1
Tomcat的默认编码时ISO8859-1,有些老工程,遗留项目很可能没改这块,这样写代码时如果传输中文,服务器收到的就可能是乱码. 昨天就被郁闷了1小时,左右都不通. 后来发现Android里的字符 ...
- JS实现HashMap
/** * ********* 操作实例 ************** * var map = new HashMap(); * map.put("key1","Valu ...
- BSD License
BSD开源协议(original BSD license.FreeBSD license.Original BSD license) BSD开源协议是一个给于使用者很大自由的协议.基本上使用者可以”为 ...