暂无个人介绍
改写成面向对象时,可先将普通函数变型,再改成面向对象。 普通方法变型 普通方法变型,变型有3个原则 1)尽量不要出现函数嵌套函数 2)可以用全局变量 3)把onload中不是赋值的语句放到单独函数中 如下代码中,完成了普通函数的变型。
如上code中,创建了p1、p2对象,比较p1中的showName函数和p2中的showName函数,结果为false; 虽然两个对象中的函数的形式、实现的功能都是一样的,但由于p1、p2是对象的引用,分别指向的是不同的两块内存区域,所以比较的结果为false; 假设有1000个对象,就要在内存中开辟1000个内存区域,并且每个对象中都有showName函数,这就极大的浪费了内存空间,怎么办呢?我们想最好把这个showName函数给提出去,作为一个公共函数,这时原型就横空出世了,就是为了解决上述问题。 原型用来提取对象下面公用的方法或者属性,让公用的方法、属性在内存中只存在一份,以提高性能。
通常,我们这样写没问题,但是,当我们需要页面加载后直接就弹出layer时,最常见应用场景就是注册页面加载后直接触发layer,弹出注册协议。 这时候问题来了,我们会发现 弹出的iframe的高度一直是150px,高度并不自适应。 经分析:原因就是layer计算ifram的时候,页面还没加载完全,而ifram本身就是通过页面的高度的进行计算的(因为我高度设置的80%)
jquery实时监控input值的变化、兼容ie9
视图的概念 VIEW ( 视 图 ) 是 一 个 或 多 个 表 的 部 分 数 据 , 它 可 以 像 表 一 样 进 行 CRUD 操 作 , 但 没 有 具 体 的 存 储 数 据 结 构 , 它 以 一 个 SELECTiä 句 的 形 式 存 在 数 据 库 中 。 本 质 : 一 条 有 名 字 的 SELECT 语 句 表 现 : 一 到 多 张 表 的 部 分 内 容
工厂方式 工厂方式其实就是函数封装,将多个对象相同部分封装成一个函数(功能) 将上面的代码封装成如下:
项目中遇到微交互、增加页面用户体验的需求,运用CSS3的transform变化的3D属性就可以达到效果。
W3C 的解释:CSS Transitions allows property changes in CSS values to occur smoothly over a specified duration. 即:在改变元素css属性值时,transition可以让这个改变在自己指定时间里平滑的进行。
实际前端开发不再仅仅是静态页面的开发了,丰富的前端技术让前端的代码逻辑越来越复杂, 模块化开发和各类框架也增加了在生产环境中部署开发环境代码的难度,这种情况下,前端自动化构建在前端开发中尤为重要。 我们会遇到下面的问题: a. 每次修改了HTML、JS、CSS等文件,都需要手动刷新浏览器,能不能修改了让浏览器自动刷新呢 ? b. 在发布项目的时候,需要将前端资源进行合并、压缩,尽量减少http请求,手动去完成合并压缩不仅繁琐,还容易出错,有什么技术可以自动地执行这些操作,解放我们的双手呢?
1.实现过程中的注意事项: 鼠标滚轮事件的兼容性问题: W3C并没有对鼠标滚轮事件进行规范,各浏览器厂商封装了不同的实现方法,事件属性也不一样,FireFox用了一个私有实现DOMMouseScroll。其他浏览器都是用mousewheel实现,所以需要做一下兼容处理(详见下面的js关键代码的截图)
原理 定位一个 初始width为0的em元素,hover的时候再将 width设置为容器的width. 再利用transiton对width变化的过程设置过度效果
propertyIsEnumerable用法 语法和功能 obj.propertyIsEnumerable(prop): 判断prop属性是否是obj的可枚举属性
一段js实现复制文本内容到剪切板 该方法兼容所有浏览器~
利用ES6中的模板字符串轻松实现多行和字符串值的插入
火狐的console控制台可以很方便的测试单行js代码,就像这样:
其中利用了伪元素 :before 很方便的实现了这个效果,并且可以兼容到IE8
一段js代码模拟实现web消息推送的功能,通过闪烁文档的标题来实现,代码如下:
由以上代码可以总结出: 1. foo.call()与foo.apply()原理是一样的,将foo函数的this指向指定的对象(或者表述为在指定对象的上下文环境中运行foo函数); 2. bind(obj)与$proxy(obj)不同的是他们返回的是一个新的函数,该函数的this执行指定的对象obj。
在做移动端的立即购买页面时,点击底部固定栏立即购买按钮需要弹出一个阴影遮罩,在遮罩顶部有一个固定在底部的页面,所以总共是3层页面:最底层浏览页->阴影遮罩页->最上层的立即购买选择规格数量页;效果如下图:
javascript实现省市区三级联动选择的代码(数据为模拟json数据):
要实现input框只能输入正整数,如果检测到输入其他类型的数据就直接为0;代码如下:
实际项目中,需求一个倒计时秒杀功能,每天下午6点后,计算距离第二天上午10点的小时、分钟、秒数,计时到第二天上午10点后开启抢购功能;代码如下
关于弹出层的我的做法: 例如:点击“修改”按钮,弹出弹出框,并将需要修改的信息附到弹出框中; 思路: 1. 点击修改按钮,弹出阴影遮罩,阴影遮罩的样式代码如下:
利用jquery的attr方法一行代码实现的简单的图片切换效果
js获取当地时间并且拼接时间格式,在stackoverflow上有人在问,查了资料,各种方法将时间格式改成任意自己想要的样式。
解决网站bug时,发现一个棘手的问题:<input type="checkbox">的复选框选中了没有打钩,经排查,是由于css中“-webkit-appearance: none;”导致的,改成“-webkit-appearance: checkbox”后恢复正常。查询资料:总结如下
利用offsetTop和scrollTop实现移动端常见的当分类栏移动到顶部时固定位置效果
Q:如图:PS的标题栏以选项卡方式打开名字太长,导致切换标题的时候不方便,如何缩短标题栏?
用原生js写的一个下拉框功能插件
css伪类用于向某些选择器添加特殊的效果 css伪元素用于将特殊的效果添加到某些选择器 都是向选择器添加特殊效果的(即用css无法描述的效果)
webStorage脑图
学习阶段的总结的一些: jQuery2.1.4版本的常用工具方法get()与eq()注意事项: