栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

JavaScript常用小技巧小结

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript常用小技巧小结

前言

     总结一下最近接触到的Javascript语法糖,与大家共享。

     每块糖都有详细的说明和示例,就不多说了。

准确的类型检查

复制代码 代码如下:
 
 function typeCheck(obj,config){
   var hasOp = Object.prototype.hasOwnProperty,
       toStr = Object.prototype.toString,
       _config = config || {
         "[object Object]": 1,
         "[object Array]": 1,
         "[object Regex]": 1,
         "[object String]": 1,
         "[object Number]": 1,
         "[object Boolean]": 1,
         "[object Function]": 1,
         "[object Undefined]": 1,
         "[object Null]": 1
       };
  
   return hasOp.call(_config,toStr.call(obj));
 }

 优雅的添加原型方法

复制代码 代码如下:
 
 if(typeof Function.prototype.method !== "function") {
   Function.prototype.method = function(name,fn){
     this.prototype[name] = fn;
     return this;
   };
 }
 
 //定义一个“测试类”
 function testFn(){
 }
 //添加测试类的成员方法
 testFn.method("add",function(a,b){
   return a + b;
 }).method("sub",function(a,b){
   return a - b;
 });
 //实例化
 var testObj = new testFn();
 //调用成员方法
 testObj.add(1,5);  //return 6
 testObj.sub(7,2);  //return 5

 快捷创建命名空间

复制代码 代码如下:
 
 var NSROOT = NSROOT || {};
 NSROOT.namespace = function(ex){
   var _ex = ex || "",
       nsArray = _ex.split("."),
       parentNode = NSROOT,
       _s = "",
       i = 0;
   //判断命名空间是否从根节点开始
   if(nsArray[0] !== "NSROOT"){
     throw("命名空间必须从根节点开始!");
   }
   //去掉root节点
   nsArray = nsArray.slice(1);
   for(i = 0;i      _s = nsArray[i];
     if(parentNode[_s] === undefined){
       parentNode[_s] = {};
     }
     parentNode = parentNode[_s];
   }
   return parentNode;
 };
 
 //创建新的命名空间
 var impl = NSROOT.namespace("NSROOT.service.impl");
 alert(impl === NSROOT.service.impl);  //return true
 //创建已有的命名空间,不覆盖原来的数据
 NSROOT.namespace("NSROOT.service.impl");
 alert(impl === NSROOT.service.impl);  //return true

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/104814.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号