• 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) - 常用工具的更多相关文章

  1. 【pwn】学pwn日记——栈学习(持续更新)

    [pwn]学pwn日记--栈学习(持续更新) 前言 从8.2开始系统性学习pwn,在此之前,学习了部分汇编指令以及32位c语言程序的堆栈图及函数调用. 学习视频链接:XMCVE 2020 CTF Pw ...

  2. 谷哥的小弟学前端(02)——HTML常用标签(2)

    探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 详解Android主流框架不可或缺的基石 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架 ...

  3. 谷哥的小弟学前端(01)——HTML常用标签(1)

    探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 详解Android主流框架不可或缺的基石 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架 ...

  4. java 微信开发 常用工具类(xml传输和解析 json转换对象)

    与微信通信常用工具(xml传输和解析) package com.lownsun.wechatOauth.utl; import java.io.IOException; import java.io. ...

  5. 学习游戏服务器开发必看,C++游戏服务器开发常用工具介绍

    C++游戏服务器开发常用工具介绍 在软件开发过程中需要使用的工具类型实属众多,从需求建模到软件测试,从代码编译到工程管理,这些工具都对项目有着不可替代的作用.庄子有云,"吾生也有涯,而知也无 ...

  6. 简单了解Spring中常用工具类_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 文件资源操作 Spring 定义了一个 org.springframework.core.io.Resource 接口, ...

  7. 浅谈集合框架三、Map常用方法及常用工具类

    最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...

  8. 盘点Linux运维常用工具(一)-web篇之httpd

    #前言:想把自己学的各种服务进行分类归档起来,于是就写了盘点Linux运维常用工具,Linux方面使用到的web应用服务有httpd(apache).nginx.tomcat.lighttpd,先了解 ...

  9. js常用工具类.

    一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...

  10. Linux 常用工具小结:(5) lftp工具使用

    Linux 常用工具小结:(1) lftp工具使用. 这里会按照一些比较常用的功能列出,并举一个具体的例子逐一解释功能. 通常使用ftp过程是登陆ftp,浏览ftp内容,下载ftp文件,或者上传ftp ...

随机推荐

  1. 12、(扩展)获取省份表,填充于下拉列表框的简易js

    在制作省份下拉列表时,我们常常会遇到大量省份不停复制粘贴的问题,比如百度到这样一个填充着省份信息的表格: 里面含有很多条数据和内容,这时候要一条一条复制粘贴非常繁冗,所以在同事的启发下我写了一个简易的 ...

  2. 函数中的static静态变量

    静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果. <?php function testStatic($start,$end){ st ...

  3. IOS 错误 [UIWebView cut:]: unrecognized selector sent to instance

    那在什么场景中会出现这种情况呢? 如果一个包含文字的输入元素有焦点,然后按钮的点击会导致输入失去焦点,然后接下来在输入时双按会重新得到焦点并从弹出bar中选择剪切复制粘贴,就会导致此error. 也就 ...

  4. 多线程间通信之AutoResetEvent和ManualResetEvent的原理分析

    AutoResetEvent 允许线程通过发信号互相通信. 通常,当线程需要独占访问资源时使用该类. 线程通过调用 AutoResetEvent 上的 WaitOne 来等待信号. 如果 AutoRe ...

  5. Oracle监听器启动出错:本地计算机上的OracleOraDb11g_home1TNSListener服务启动后又停止了解决方案

    一.错误描述 登陆PL/SQL Developer登陆本地数据库时先报没有监听程序,查看服务发现Oracle监听服务没有启动.右击启动监听程序,报错: 错误描述:本地计算机上的OracleOraDb1 ...

  6. 修改hive分区表,在分区列前增加一个字段

    本文主要为了测试,在有数据的分区表中增加新的一个非分区字段后,新数据加入表中是否正常. 原始数据 1;zhangsan 2;zhangsan 3;zhangsan 4;lisi 5;lisi 6;li ...

  7. C++模板元编程(C++ template metaprogramming)

    实验平台:Win7,VS2013 Community,GCC 4.8.3(在线版) 所谓元编程就是编写直接生成或操纵程序的程序,C++ 模板给 C++ 语言提供了元编程的能力,模板使 C++ 编程变得 ...

  8. 解决Cannot delete or update a parent row: a foreign key constraint fails (`current_source_products`.`product_storage`, CONSTRAINT `product_storage_ibfk_3` FOREIGN KEY (`InOperatorID`)

    出现这个异常的原因是因为设置了外键,造成无法更新或删除数据. 1.通过设置FOREIGN_KEY_CHECKS变量来避免这种情况 删除前设置 SET FOREIGN_KEY_CHECKS=0; 删除完 ...

  9. ubuntu14.04 下emacs 24 配置

    目的: 配置emacs 24 适合编程开发 主要参考JerryZhang的配置(Emacs 简易教程) http://www.perfect-is-shit.com/emacs-simple-tuto ...

  10. LintCode Find Minimum In Rotated Sorted Array

    1. 画图, 直观. 2. 讨论数组为空或者个数为零. 3. 讨论首尾, 若为翻转过的则进行查找直到最后两个数进行比较, 取小者. public class Solution { /** * @par ...