17-4-12月总结 (AngularJS、正则匹配非某字符)

       哇距离上次总结已经一个月了(默默改成月总结),之前周总结没写的当然是因为电脑被偷了,后来没写当然是没了电脑心情不好,现在来写总结当然是因为电脑被人民警察(超腻害)追回来了,再加上目前我比较闲,结果赶巧正好一个月呢。这月悟出一道理:人生在世全靠自学呀,同志们。

1.Angular js

     哇前端甩锅没人做了,尝试学习angular js前端框架,发现菜鸟教程整得不错呢,还有慕课网不怎么好用(唉搞技术之后连小象学院都用不着了,伤感一秒)。

       Angular js是一款js框架,是一个以js编写的库。它通过

  • AngularJS表达式
       AngularJS表达式写在双大括号内:{{expression}}。表达式把数据绑定到HTML,这与ng-bind指令很像。AngularJS将在表达式写的位置“输出”数据。AngularJS对象就像JavaScript对象:

姓为 {{ person.lastName }}

       使用ng-bind:

第三个值为

  • AngularJS应用
       模块定义了AngularJS应用,控制器用于控制AngularJS应用,ng-app指令定义了应用,ng-controller定义了控制器。

名:
姓:

姓名: {{firstName + " " + lastName}}

  • AngularJS Scope(作用域)
       Scope(作用域)是应用在HTML(视图)和JavaScript(控制器)之间的纽带。Scope是一个JavaScript对象,带有的属性和方法可在视图和控制器中使用。

       要明确Scope对应的作用域是哪一个。所有的应用都有一个$rootScope,它可以作用在ng-app指令包含的所有HTML元素中,即作用在整个应用,可以在各个controller中使用。

{{lastname}} 家族成员:

  • {{x}} {{lastname}}

  • AngularJS 控制器
       AngularJS应用程序被控制器控制,ng-controller指令定义了应用程序控制器,控制器是Javascript对象,由标准Javascript对象的构造函数创建。AngularJS使用$scope对象来调用控制器,控制器的$scope(相当于作用域、控制范围)用来保存AngularJS Model的对象。

名:
姓:

姓名: {{fullName()}}

  • AngularJS 过滤器
       过滤器可以使用一个管道字符(|)添加到表达式和指令中。例如:uppercase过滤器将字符串格式化为大写:

姓名为 {{ lastName | uppercase }}

       自定义过滤器reverse,将字符串反转:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.msg = "FishSugar";
});
app.filter('reverse', function() { //可以注入依赖
    return function(text) {
        return text.split("").reverse().join("");
    }
});

  • AngularJS 服务(Service)
       使用内建服务:$location,$http,$timeout,$interval,还可以创建自定义服务。创建名为hexafy的访问:

app.service('hexafy', function() {
    this.myFunc = function (x) {
        return x.toString(16);
    }
});
       使用自定义服务:

app.controller('myCtrl', function($scope, hexafy) {
    $scope.hex = hexafy.myFunc(255);
});
  • AngularJS事件
       AngularJS自己的HTML事件指令:ng-click指令定义了AngularJS点击事件,ng-hide指令用于设置应用部分是否可见(ng-hide="true"设置HTML元素不可见),ng-show指令可用于设置应用中的一部分是否可见(ng-show="false"设置HTML元素不可见)。

{{ count }}

  • AngularJS模块
       模块定义了一个应用程序,是应用程序中不同部分的容器,是应用控制器的容器。控制器通常属于一个模块。创建模块,并在应用中添加控制器、指令等:
{{ firstName + " " + lastName }}
  • AngularJS 动画

       AngularJS提供了动画效果,可配合CSS使用,使用动画需引入angular-animate.min.js库。ngAnimate模型可添加或移除class,它并不能使HTML元素产生动画,但她会检测事件,类似隐藏显示HTML元素,如果事件发生ngAnimate就会使用预定义的class来设置HTML元素的动画。


       动画是通过改变HTML元素产生的动态变化效果。应用已经设置应用名时可把ngAnimate直接添加在模型中:



隐藏 DIV:

  • AngularJS 依赖注入
    依赖注入(Dependency Injection)是一种软件设计模式,在这种模式下一个或者更多的依赖(或服务)被注入(或者通过引用传递)到一个独立的对象(或客户端)中,然后成为了该客户端状态的一部分。该模式分离了客户端依赖本身行为的创建,使得程序设计变得松耦合,并遵循了依赖反转和单一职责原则。(没事你不要来找我,有事我会去找你)

       AngularJS用来作为依赖注入的核心组件:value、factory、service、provide、constant。

  • AngularJS 路由
       AngularJS路由允许我们通过不同的URL访问不同内容,通过AngularJS可以实现多视图的单页Web应用(SPA),在单页Web应用中AngularJS通过#+标记实现。

       每个URL都有对应的试图和控制器。AngularJS $routeProvider用来定义路由规则。AngularJS模块的config函数用于配置路由规则,$routeProvider提供when(path,object)&otherwise(object)函数按顺序定义所有路由。第一个参数是URL或者URL正则规则,第二个参数是路由配置对象。

2. 正则表达式

       正则表达式被用来检索、替换那些符合某个规则的文本。
       匹配非某字符:
          [^a]* 表示匹配除a以外的所有字符;
          [^abc]* 表示匹配除a、b、c以外的所有字符(注意:是字符,而不是字符串,即a,b,c字符均不匹配

       匹配非某字符串时:

          ((?!win).)* 表示匹配除单词win的其它所有字符

你可能感兴趣的:(Summary)