【avalon】parseData
<div data-a="true" data-b="false" data-d="5" data-e="null"></div>
<input type="text" value="true">
<script>
var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/
function parseData(data) {
//console.log(data)
try {
if (typeof data === "object")
return data
data = data === "true" ? true :
data === "false" ? false :
data === "null" ? null :
+data + "" === data ? +data :
rbrace.test(data) ? JSON.parse(data) : data
} catch (e) {
}
return data
} var dataset = document.querySelector('div').dataset
//console.log(parseData(dataset.a)) // "true" true
//console.log(parseData(dataset.b)) // "false" false
//console.log(parseData(dataset.c)) // undefined undefined
//console.log(dataset.e, parseData(dataset.e)) // "null" null
//console.log(parseData(dataset.d)) // "5" 5
</script>
【avalon】parseData的更多相关文章
- 【avalon】data
if (root.dataset) { avalon.fn.data = function (name, val) { name = name && camelize(name) va ...
- 【Avalon】factory
(function(global, factory) { if (typeof module === "object" && typeof module.expor ...
- 【avalon】offsetParent
offsetParent: function () { var offsetParent = this[0].offsetParent while (offsetParent && a ...
- 【Avalon】escape
[\uD800-\uDBFF][\uDC00-\uDFFF] var rsurrogate = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g var rnoalphanumeri ...
- 【avalon】createMap
/** * Creates a new object without a prototype. This object is useful for lookup without having to * ...
- 【Avalon】获取隐藏元素的尺寸
保存原来的属性 设置成显示的属性 获取尺寸 设置回原来的属性 var cssShow = { position: "absolute", visibility: "hid ...
- 共有49款Windows GUI开发框架开源软件 【转】
源文 : http://www.oschina.net/project/tag/178/gui?lang=36&os=0&sort=view&p=1 桌面应用开发引擎 Allo ...
- 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理
[微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...
- github上最全的资源教程-前端涉及的所有知识体系【转】
github上最全的资源教程-前端涉及的所有知识体系[转自:蓝猫的博客] 综合类 综合类 地址 前端知识体系 http://www.cnblogs.com/sb19871023/p/3894452.h ...
随机推荐
- Storm实时流处理Hello World
近来在看Storm的相关资料,以下总结一下配置过程和Hello World例子. Storm是分布式的实时计算系统.详细文档可参考Storm网站,也可以参阅<Getting started wi ...
- ASP.net 验证码(C#) MVC
ASP.net 验证码(C#) MVC http://blog.163.com/xu_shuhao/blog/static/5257748720101022697309/ 网站添加验证码,主要为防止机 ...
- 主机无法访问虚拟机上的elasticsearch服务器
问题: es在linux上搭建好,通过curl -XGET ip:port可以获得服务器信息展示,但是主机在浏览器上无法访问. 原因: 主机通过telnet访问linux的80端口,发现是不通的.可以 ...
- HTTP Status 404 - No result defined for action com.csdhsm.struts.action.LoginAction and result error
智商拙计的问题,没有找到为类LoginAction和error找到定义,然后重新去struts.xml去看,我类个去,我居然把result写成了ERROR <result name=" ...
- 凭借K2 SmartObject框架,在SharePoint中集成数据
随着SharePoint 2013的发布,Microsoft已提供Business Connectivity Services(BCS)增强功能以及外部列表功能,确保您可以更简单地在SharePoin ...
- android启动模式2
Android中的启动模式(下) 在这篇文章中,我会继续跟大家分享有关于Android中启动模式的相关知识.当然,如果对这个启动模式还不完全了解或者没有听过的话,可以先看看我之前写的有关于这个知识点的 ...
- 通过使用ScriptManager.RegisterStartupScript,呈现后台多次使用alert方法
在前台HTML中加入alert或者confirm,相信大家已经非常熟悉并且经常使用: <div onclick="alert('hello')">按钮1</div ...
- HDFS的可靠性
HDFS的可靠性 1.冗余副本策略 2.机架策略 3.心跳机制 4.安全模式 5.校验和 6.回收站 7.元数据保护 8.快照机制 1.冗余副本策 ...
- Visual Studio Ultimate 2013 with Update 4
Visual Studio Ultimate 2013 with Update 4 是一个先进的开发解决方案,各种规模的团队通过它均可设计和创建引人注目的应用程序,使用户兴致勃勃. Visual St ...
- LepideMigrator for Documents Step by Step
blog: http://blog.csdn.net/foxdave A Manager Marketing Operations invite me to review their product, ...