摘要: 我们可能已经用过很多JS插件,比如著名的轮播图插件Swiper.js,滚动条插件iScroll.js等等,用起来非常方便,大大提高了我们的工作效率。那么它们基本实现原理是怎样的呢?我们又该如何DIY一个可以复用的JS插件呢? 接下来,我将以图片无缝循环轮播为例,手把手教你封装一个方便复用的原生JS插 阅读全文
posted @ 2019-10-12 16:40 黑龙波 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 一、封装的概念 面向对象的类包括两大成员,一种是暴露给外部的接口,另一种是只在类内部才能访问的私有属性。在这个类被实例化成对象后,用户只能通过操作给定的接口来访问该类内部的私有属性,这就被称为面向对象的封装性。 二、ES5如何实现封装 这里只说一种方法,就是通过闭包。 可以看下这个例子,在构造函数( 阅读全文
posted @ 2019-10-12 11:42 黑龙波 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 为什么要进行方法的封装?在平时的生产环境中,我们经常写出这样的代码: 其本质上是这样的: 这样的话,我们就创建了两个全局变量,iA,iB.如果在大型的项目环境中,会有很多人对代码进行开发,很容易造成变量污染,从而引出很多问题.所以我们就要对方法进行封装. 封装方式1: 封装成对象利用js中对象的特性 阅读全文
posted @ 2019-02-13 22:54 黑龙波 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 1、判断是否是一个数组 2、判断是否是一个函数(三种) 3、数组去重,只考虑数组中元素为数字或者字符串 4、动态去重 5、去除字符串空格(包含三种情况) 6、判断是否为邮箱地址 7、判断是否是手机号 8、获取一个对象里面第一次元素的数量 9、获取元素相对于浏览器窗口的位置,返回一个{x,y}对象 1 阅读全文
posted @ 2019-02-13 22:40 黑龙波 阅读(197) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2019-02-13 22:14 黑龙波 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 1. jsonp、jsonpCallback jsonp跨域时可以自定义的两个参数 2. jsonp: 回掉函数名的参数名,默认callback,服务端通过它来获取到回掉函数名 3. jsonpCallback: 回掉函数名,默认jquery自动生成 4. 指定jsonpCallback时可以将回掉 阅读全文
posted @ 2018-11-07 16:09 黑龙波 阅读(1237) 评论(0) 推荐(0) 编辑
摘要: 跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的。 浏览器的同源策略限制从一个源加载的文档或脚本与来自另一个源的资源进行交互。 如果协议,端口和主机对于两个页面是相同的,则两个页面具有相同的源,否则就是不同源的。 如果要在js里发起跨域请求,则要进行一些特殊处理了。或者,你可以把请 阅读全文
posted @ 2018-11-07 15:56 黑龙波 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 在学校,听老师讲解事件冒泡和事件捕获机制的时候跟听天书一样,只依稀记得IE使用的是事件冒泡,其他浏览器则是事件捕获。当时的我,把它当成IE浏览器兼容问题,所以没有深究(IE8以下版本的浏览器已基本退出市场)。工作至今,虽然多次遇到该类问题,但均未深究,始终一知半解,遇到了全TM靠猜(选A不行就选B呗 阅读全文
posted @ 2018-10-15 16:19 黑龙波 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 文章类别:Javascript基础(面向初学者) 前言 在之前的章节中,我们已经不依赖jQuery,单纯地用JavaScript封装了很多方法,这个时候,你一定会想,这些经常使用的方法能不能单独整理成一个js文件呢? 当然可以,封装本来就是干这个用的。放在一个单独js文件里固然不错,其实我们也可以单 阅读全文
posted @ 2018-07-06 17:22 黑龙波 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 闭包是什么? 初学javascript的人,都会接触到一个东西叫做闭包,听起来感觉很高大上的。网上也有各种五花八门的解释,其实我个人感觉,没必要用太理论化的观念来看待闭包。 事实上,你每天都在用闭包,只是你不知道罢了。 比如: var cheese = '奶酪'; var test = functi 阅读全文
posted @ 2018-07-06 14:49 黑龙波 阅读(145) 评论(0) 推荐(0) 编辑