代码片段学习(一)
来源:互联网 发布:tensorflow whl 编辑:程序博客网 时间:2024/06/05 04:33
描述
这是《单页面应用》一段描写点击事件的代码。今天手敲了一遍,觉得写得自己写的绝对写不成这个样子。所以想的仔细分析一下,学习一下。
代码
var spa = (function( $ ) { var configMap = { extended_height : 434, extended_title : "click to retract", retracted_height : 16, retracted_title : 'click to extend', template_html : '<div class="spa-slider"><\/div>' }, $chatSlider, toggleSlider,onClickSlider,initModule; toggleSlider = function () { var slider_height = $chatSlider.height(); if (slider_height == configMap.retracted_height ) { $chatSlider .animate({height:configMap.extended_height}) .attr( 'title' ,configMap.extended_title); return true; } else if (slider_height == configMap.extended_height) { $chatSlider .animate({height:configMap.retracted_height}) .attr( 'title' ,configMap.retracted_height); return true; } return false; }; onClickSlider = function ( event ) { toggleSlider(); return false; }; initModule = function ( $container ) { $container.html( configMap.template_html ); $chatSlider = $container.find( '.spa-slider' ); $chatSlider .attr( 'title' , configMap.retracted_title ) .click( onClickSlider ); return true; } return { initModule : initModule }; }( jQuery )) jQuery(document).ready( function () { spa.initModule(jQuery('#spa')); } );
分析代码
首先从整洁上来说,function () { }
空格加的特别多,看起来不拥挤
从规范上说:
变量前面定义,定义的方法也很帅气。
采用模块的写法。只返回来一个方法,提供给你调用。
在初始化的方法中进行dom的绑定。
并且每个方法都返回 return 不管是false 和 true 。(如果是我,根本不返回,就算想返回也不知道是返回false 还是 true)。
jQuery的写法也很特别 看起来特别漂亮,而且清楚!
在前面定义变量的好处是 你后面几乎只用提示就行。都不用再去找参数之类的。但是有个问题就是定义那么多名字,起名字就是一个比较头疼的事。作者采用下划线的方式也是我最常用的方式。
对模块 和 闭包的理解 也是这样写的一个必须的条件!
阅读全文
0 0
- 代码片段学习(一)
- 代码片段(一)
- Nginx学习笔记——进程代码片段(一)
- java学习_有趣代码片段(一)
- 实用代码片段(一)
- 算法代码片段(一)
- (转)android有用代码片段(一)
- Android 实用代码片段(一)
- Android实用代码片段(一)
- php开发常用代码片段(一)
- Android常用代码片段(一)
- Android开发实用代码片段(一)
- Android常用代码片段(笔记一)
- Android代码片段整理(一)
- ObjectARX代码片段一
- Android 代码片段(一)
- android 学习笔记代码片段(4)
- android 学习笔记代码片段(5)
- Spring--SpringMVC中使用bean来接收form表单提交的参数时的注意点
- DOS批处理高级教程 第四章 批处理中的变量
- MyBatis入门
- PTA-列出连通集(DFS+BFS)
- 二叉树
- 代码片段学习(一)
- C++数据结构之栈——顺序栈的实现
- 基于Qt的海康威视网络摄像头SDK的二次开发(一)
- mysql中datatime格式转化,后台为node
- echarts 动态获取数据demo
- FragmentPagerAdapter和FragmentStatePagerAdapter的区别
- 插入排序之希尔排序
- DOS批处理高级教程 第五章 set命令详解
- 在docker下查看对应的微服务日志