AngularJS-源码阅读(二)

    AngularJS的类型判定优先以typeOf来进行判定,然后用toString.call(..)的方式判定,如下:

function isArray(value) {
  return toString.call(value) === '[object Array]';
}

   

   AngularJS还有一种编程方式,

var what = (function(){
    var TrueOrFalse = ???//判定条件
    if(TrueOrFalse){
        return function(args){//TODO:}
    }else{
        return function(args){//TODO:}
    }    
})();

  这种编程方式,特别适合用来对js运行容器的不同特性进行针对性编程, 源码例子:

  

var trim = (function() {
  if (!String.prototype.trim) {
    return function(value) {
      return isString(value) ? value.replace(/^\s\s*/, '').replace(/\s\s*$/, '') : value;
    };
  }
  return function(value) {
    return isString(value) ? value.trim() : value;
  };
})();

//google编译器里运行 :trim
//返回:
//  function (value) {
//    return isString(value) ? value.trim() : value;
//  }




转载于:https://my.oschina.net/myprogworld/blog/208026

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值