前言
总结一下最近接触到的JavaScript语法糖,与大家共享。
每块糖都有详细的说明和示例,就不多说了。
准确的类型检查
/* * @function: * 类型检查示例 * 通过此方法,可以检查某个变量是否为期望的数据类型 * @params: * obj 需要检查的变量,必选 * config 数据类型白名单,可选,默认为全部类型 * @return: * true 表示检查通过,false 未通过 * @examples: * typeCheck("str"); //return true * typeCheck({},{"[object Array]": 1}); //return false */ 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)); }
优雅的添加原型方法
/* * @description: * 优雅的添加原型方法 * 在公共作用域执行此代码片段即可 */ 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
快捷创建命名空间
/* * @function: * 创建命名空间 * @params: * ex 命名空间表达式,例如:NSROOT.service.impl * 此表达式必须从根节点开始写起 * @return: * 返回Object,此Object是表达式的最后一个节点 * @others: * 如果您不喜欢NSROOT这个命名,简单的查找替换即可 */ 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<nsArray.length;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
本文向大家介绍JavaScript小技巧整理,包括了JavaScript小技巧整理的使用技巧和注意事项,需要的朋友参考一下 本文整理总结了JavaScript的小技巧。分享给大家供大家参考,具体如下: 1.组织默认事件 阻止默认事件,h5默认的input type='date'在某些浏览器和android设备上没有效果,这时要调用h5+的时间选择器,但是要组织input默认的click事件,代码如
本文向大家介绍jQuery、zepto、js常用小技巧,包括了jQuery、zepto、js常用小技巧的使用技巧和注意事项,需要的朋友参考一下 以下只为记录自己工作常用的片段和心得, 如有问题请指正, 多谢~ jQuery/zepto判断元素是否存在 合理判断数据类型 先看代码: 看着没问题, 但当 str 为空(false, null等)时就挂了, 适当的检查让代码更健壮, 如: 再比如, 要获
本文向大家介绍JavaScript小技巧整理篇(非常全),包括了JavaScript小技巧整理篇(非常全)的使用技巧和注意事项,需要的朋友参考一下 能够为大家提供这些简短而实用的JavaScript技巧来提高大家编程能力,这对于我来说是件很开心的事。每天仅花上不到2分钟的时间中,你将可以读遍JavaScript这门可怕的语言所呈现给我们的特性:performance(性能), convention
本文向大家介绍JavaScript实用代码小技巧,包括了JavaScript实用代码小技巧的使用技巧和注意事项,需要的朋友参考一下 在上次的 “Chrome DevTools 你可能不知道的小技巧” 文中,得到很多开发朋友的反馈确实不知道这些小技巧。今天,我们来聊一聊在 EcmaScript5/6+ 中的一些小技巧,欢迎评论区讨论下更多技巧。 JSON.stringify 我们平时经常会用到JSO
本文向大家介绍JS常用函数和常用技巧小结,包括了JS常用函数和常用技巧小结的使用技巧和注意事项,需要的朋友参考一下 学习和工作的过程中总结的干货,包括常用函数、常用js技巧、常用正则表达式、git笔记等。为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路。 Ajax请求 jquery ajax函数 我自己封装了一个ajax的函数,代码如下: jsonp方式 有时候我们为了跨
本文向大家介绍Android ListView常用小技巧汇总,包括了Android ListView常用小技巧汇总的使用技巧和注意事项,需要的朋友参考一下 ListView在我们Android项目中的地位是有目共睹的,相信几乎每一个App中都有它的身影。 ListView主要是用列表形式来加载数据,在特定情况下需要实现一些特殊功能:如刷新数据,加载数据,实现动画效果等。 作为我们常用的控件,有哪些