从zepto中学习方法
前言,今天开始学习Zepto源码,这里仅仅几下里面能用到的方法。。陆续补充ing...
一,判断类型函数
function type(obj) {
return obj == null ? String(obj) : Object.prototype.toString.call(obj) || "Object";
}
稍作改变:
(function () {
function type(value) {
var getType = Object.prototype.toString;
var typeTemp = getType.call(value);
switch (typeTemp) {
case '[object Array]':
return "Array";
break;
case '[object Date]':
return "Date";
break;
case '[object Boolean]':
return "Boolean";
break;
case '[object Number]':
return "Number";
break;
case '[object Function]':
return "Function";
break;
default:
return "unKnow";
}
}
function isArray(value) {
return type(value) == "Array";
}
function isDate(value) {
return type(value) == "Date";
}
function isBoolean(value) {
return type(value) == "Boolean";
}
function isNumber(value) {
return type(value) == "Number";
}
function isFunction(value) {
return type(value) == "Function";
}
})();
补充
用getPrototypeOf和isProtoypeOf判断类型
var time = new Date();
var result = (Object.getPrototypeOf(time) === Date.prototype);
console.log(result);
result=Date.prototype.isPrototypeOf(time);
console.log(result)
补充2016-12-05 11:19:40
网上一方法,用于判断类型
Object.prototype.toString.call(arg).slice(8,-1)
直接获取类型。。
二,replace结合表达式去改变字符串
var str = "123aAbc";
function stringDividerBetweenUnderline(str) {
return str.replace(/(\d+)([a-z]|[A-Z]+)/g, "$1_$2")
}
var ss = stringDividerBetweenUnderline(str);
console.log(ss);
三,获取css属性
var con1=document.querySelector(".con1");
console.log(window.getComputedStyle(con1).getPropertyValue("color"));
注意这里获取到的颜色是reba(255,0,0)我设置的是red
从zepto中学习方法的更多相关文章
- zepto中的touch库与fastclick
1. touch库实现了什么和引入背景 click事件在移动端上会有 300ms 的延迟,同时因为需要 长按 , 双触击 等富交互,所以我们通常都会引入类似 zepto 这样的库.zepto 中tou ...
- 这些Zepto中实用的方法集
前言 时间过得可真快,转眼间2017年已去大半有余,你就说吓不吓人,这一年你成长了多少,是否荒度了很多时光,亦或者天天向上,收获满满.今天主要写一些看Zepto基础模块时,比较实用的部分内部方法,在我 ...
- zepto中的属性设置
上次看zepto的init方法时,有一段属性设置的代码,先来看看其表现: if (isPlainObject(properties)) { nodes = $(dom) $.each(properti ...
- zepto中$.proxy()的到底有多强大?
好吧,其实是标题党了,哈哈,只是想总结一下工作中遇到$.proxy()的用法而已. 一.语法: $.proxy()有两种使用语法 1)$.proxy(fn,context),fn是一个函数,conte ...
- 使用zepto中animate报错“Uncaught TypeError: this.bind is not a function”的解决办法
在使用zepto时,我先引入zepto.min.js,然后引入fx.js,但是在使用animate函数时,控制台却报如下错误: Uncaught TypeError: this.bind is not ...
- 阻止长按复制页面中的内容;zepto中touch中的应用必须先加载event模块之后;
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- zepto中的scrollTo
//zepto没有scrollTo动画,这里扩展了一个scrollTo函数 $.fn.scrollTo = function(options) { var defaults = { scrollTop ...
- zepto中给不存在的元素设置样式并绑定事件的坑
在移动端使用zepto选择器时,一般如果元素不存在会返回一个空的zepto对象. zepto在设置元素样式时,提供了两个入参方式,一种键值对方式$(".ter").css({&qu ...
- Zepto中的Swipe事件失效
需要阻止浏览器默认滑动的事件 document.addEventListener('touchmove', function (event) { event.preventDefault(); }, ...
随机推荐
- loadrunner安装汉化破解
1.解压loadrunner11,点击setup.exe安装loadrunner11. 遇到问题,"...输入命令\来解决". 解决办法:运行解压包的loadrunner-11安装 ...
- 无法为表空间 XX 中的段创建 INITIAL 区
select * from dba_data_files where TABLESPACE_NAME='XX'--找到表空间文件 alter database datafile '/opt/app/o ...
- 初试 uTenux
申请的的开发套件到目前还没到手,看到网友们都开始动手干了,我也是按捺不住了,所以就先在悠龙公司的主页下载了uTenux_V1.5.00r160.zip,打算看看,先了解一下. 下面是文件目录表: └─ ...
- ORACLE分页SQL语句
.根据ROWID来分 select * from t_xiaoxi where rowid in(select rid from (select rownum rn,rid from(select r ...
- libreoffice实现WORD文档转PDF文档
一.安装LibreOffice 官网:http://www.libreoffice.org/ 二.CentOS安装yum yum install libreoffice 三.执行转换命令 libreo ...
- [POJ1830]开关问题(高斯消元,异或方程组)
题目链接:http://poj.org/problem?id=1830 题意:中文题面,求的是方案数. 首先可以知道, 如果方案数不止一个的话,说明矩阵行列式值为0,即存在自由变元,由于变量只有两种状 ...
- [原创] 使用LP Wizard 10.5 制作 Allegro PCB封装
本文只讲述使用 Calculator 和 Wizard 功能制作封装,通常学会使用这种方法,通用的标准封装就都可以生成了.下面以一个简单的SOIC-8封装的芯片来说明软件使用方法. 第一步,查找相关d ...
- FJNU 1152 Fat Brother And Integer(胖哥与整数)
FJNU 1152 Fat Brother And Integer(胖哥与整数) Time Limit: 1000MS Memory Limit: 257792K [Description] [题 ...
- kakfa的常用命令总结
Kafka的版本间差异较大,下面是0.8.2.1的操作方法 首先cd到kafaka的bin目录下; #step1启动zookeeper服务 nohup bin/zookeeper-server-s ...
- Image与byte[]之间的转换
//将image转化为二进制 public static byte[] GetByteImage(Image img) { byte[] bt = null; if (!img.Equals(null ...