从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(); }, ...
随机推荐
- VM安装失败
出现:VMware安装失败 “Failed to create the requested registry key Key:installer Error:1021" 解决: 开始--运行 ...
- Eclipse如何生成jar包
Eclipse如何生成jar包 图1 右击项目Properites,选择Android,选择Is Library,然后会编译生成jar包在bin目录下.
- <转>“人脉投资”的10条建议
谁都知道人脉很重要,所以有些人非常勤奋的“做人脉”,他们往往会这样做—— 积极的参与各类线下活动,逢人就换名片.加微信. 见到名人或者重要人物必合影,而且他们还会掏出手机来给你看. 逢年过节,给所有他 ...
- Apache-Shiro+Zookeeper系统集群安全解决方案之会话管理
如今的系统多不是孤军奋战,在多结点会话共享管理方面有着各自的解决办法,比如Session粘连,基于Web容器的各种处理等或者类似本文说的完全接管Web容器的Session管理,只是做法不尽相同. 而本 ...
- getting started with Baxter Research Robot
1. Baxter Research Robot Baxter Research Robot is from Rethink Robotics. There is also a video on TE ...
- CSS笔记(三)背景
CSS 允许应用纯色作为背景,也允许使用背景图像创建相当复杂的效果. 参考:http://www.w3school.com.cn/css/css_background.asp 背景色 p {backg ...
- git学习笔记01-git最基本的工作原理分布式
git学习的网站 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 --廖雪峰老师 ...
- yii::app(); 怎么得到module、controller、action的名字
$module = Yii::app()->controller->module->id; $controller = Yii::app()->controller->i ...
- pfx,cer转pem,并对通过pem文件进行签名与验签
因为PHP无法读取.pfx文件,所以可以先转换为.pem文件然后在读取里面的数据,可以读取.cer文件,为了两方面统一,就都换成.pem然后再进行加签和验签. sign.php <?php de ...
- iOS - OC NSNull 空值
前言 @interface NSNull : NSObject <NSCopying, NSSecureCoding> 作为占据空间的一个空值,如用在数组或字典中占据一个没有任何值的空间. ...