1123分享总结

来源:互联网 发布:重庆时时彩数据全天 编辑:程序博客网 时间:2024/05/18 17:41
  • 树的遍历和操作源代码
var jsonData=[        {"subnetId":1,"subnetNode":-1,"subnetRemark":"状态自带","subnetName":"中心网络"},        {"subnetId":2,"subnetNode":1,"subnetRemark":"好好的","subnetName":"北京"},        {"subnetId":3,"subnetNode":1,"subnetRemark":"大唐电信","subnetName":"大唐电信"},        {"subnetId":4,"subnetNode":1,"subnetRemark":"","subnetName":"上海"},    {"subnetId":5,"subnetNode":4,"subnetRemark":"","subnetName":"中国联通"},   {"subnetId":6,"subnetNode":3,"subnetRemark":"","subnetName":"移动"},         {"subnetId":7,"subnetNode":2,"subnetRemark":"","subnetName":"你好"}];function createTree(jsons,subnetNode){    if(jsons != null){        var ul = '<ul class="">' ;        for(var i=0;i<jsons.length;i++){            if(jsons[i].subnetNode == subnetNode){                ul += '<li>' + jsons[i].subnetName + "</li>";                ul += createTree(jsons,jsons[i].subnetId) ;            }        }        ul += "</ul>" ;    }    return ul ;}$(function(){    var ul = createTree(jsonData,-1) ;    $("#continer").append(ul) ;    //控制菜单的隐藏显示    $("ul[class] li").each(function(){        $(this).click(function(){            $(this).next().toggle() ;        }) ;    }) ;}) ;
  • ngAPI

    API文档链接

  • 数据结构

    队列
    广义表
    二叉树的遍历和基本操作
    树和森林
    最优二叉树与回溯法
    图的概念和存储结构
    图的遍历

  • js的argument

    argument为函数内部对象,包含传入函数的所有参数arguments.callee代表函数名,多用于递归调用,防止函数执行与函数名紧紧耦合的现象,对于没有函数名的匿名函数也非常起作用。举例如下:
function factorial(num){      if(num<=1){          return 1;      }else{          return num*arguments.callee(num-1);  //arguments.callee代表factorial      }  }  var trueFactorial = factorial;  factorial = function(){      return 0;  }   alert(trueFactorial(5)); //结果为120,因为js中函数没有重载,所以如果递归调用时使用函数名,则执行最后一个该函数名的函数,即返回0   alert(factorial(5));//结果为0匿名函数的递归:var num = (function(num){      if(num<=1){          return 1;      }else{          return num*arguments.callee(num-1);      } })(5);  alert(num); //结果为120
  • angular用法总结

    • ui-sref和state.go()的区别

          ui-sref用在a标签里,ui-sref最后调用的还是$state.go()方法        ui-sref="message-detail({messageId:item.messageID})"    $state.go用在controller里        $state.go(‘login’,{test:1232})    //$stateParams用于接收参数,例如$stateParams.messageId
    • controller调用自定义方法

      参考链接

      总共三种方式:1、控制器嵌套实现2、$on及$emit父控制器

      这里写图片描述

      子控制器

      这里写图片描述

      优化如下:    $provide.decorator封装$on的$destroy事件来清除当前页面的监听或者一些参数保证

      这里写图片描述

      3、service单例模式

      参考链接

    • 路由监听事件及视图加载事件

      $stateChangeSuccess     模板解析完成后触发$viewContentLoaded    当视图加载完成,DOM渲染完成之后触发,视图所在的$scope发出该事件
    • 动态加载html内容

      ng-bind-html="item.lastMsg|trustHtml"$sce.trustAsHtml(str)在angular中默认是不相信添加的HTML内容,对于添加的HTML内容,首先必须利用$sce.trustAsHtml,告诉angular这是可信的HTML内容。否则你将会得到$sce:unsafe的异常错误。
    • $httpProvider.defaults.withCredentials = true

      跨域时设置和保存cookie的信息
    • url跳转

      $state.transitionTo("main.friendinfo", $match);    $match匹配参数 
    • $location

      $location.path()获取当前页面的url$location.absUrl()获取绝对地址
    • $http

      向服务器请求数据$http.get("文件地址").success(取得成功后的操作);
    • 将请求要发送的对象转换成后台需要的形式(覆盖http服务默认的transformRequest)

      $httpProvider.defaults.transformRequest=function(obj){... return...}
    • ngModel
      参考链接

    • $q

      1、defer对象(延迟对象)    通过$q.defer()获取    api        resolve(value):成功完成任务        reject(value): 拒绝任务        notify(value):  通知当前完成状态        //从上可以看出defer主要是用来发送消息的。   2、promise对象(defer对象的承诺对象)     通过defer.promise获取     API        .then(successCallback,  errorCallback, notifyCallback)            .catch(errorCallback)             promise.then(null,  errorCallback)  的快捷方式.        .finally(callback)              promise 返回执行或拒绝,              释放资源或者清理无用对象
    • factory和service的简介
      参考链接
0 0
原创粉丝点击