• 1. (本页无文本内容)
  • 2. JS零碎经验汇总
  • 3. 工欲善其事 必先利其器
  • 4. Dreamweaver CS5最专业的HTML / CSS编写工具,最为完善的HTML与CSS自动完成以及HTML代码折叠 站点管理 / 高速的全局搜索与替换 还算不错的JS语法提示 & 插件 – JSLint 内存占用适中(win7下50M),性能相对较高(比起Eclipse 好太多) 编辑注释比较麻烦 没有逗号提示与括号的提示
  • 5. (本页无文本内容)
  • 6. (本页无文本内容)
  • 7. Aptana Studio 3新浪推荐的JS编辑器 基于Eclipse 语法检查较完善 启动慢,前期配置比较麻烦(没有中文版),全局搜索较慢 占用内存较大(win7下102M)
  • 8. (本页无文本内容)
  • 9. Editplus / Notpad++ / Vim简单实用的文本编辑器 占用内存少,编辑快速 语法检查与提示较弱,但丰富的插件可以一定程度上弥补缺陷 搜索能力相对较差(不方便) 前期配置比较麻烦,相对推荐 Notpad++
  • 10. Visual Studio占用内存大,安装卸载都很麻烦 最为完善的语法提示 最强大的断点调试
  • 11. 辅助开发工具Firebug Chrome 开发人员工具 IE developer toolbar Opera与Safari的控制台 Httpwatch Fiddler
  • 12. 开发,调试,上线流程
  • 13. 开发与调试方式FF下开发,其他环境下测试 IE一般依靠alert,其他都可以使用console.log 为IE单独开发调试工具,或者使用Firebug Lite(慢) try{}catch(e){}finally{} 自行编写log函数,利用JSON.stringify获取详细信息
  • 14. 开发,部署与上线组件化代码 单元测试(jsunit),功能测试,兼容性测试 打包(合并) 压缩(YUIcompressor) YUI
  • 15. (本页无文本内容)
  • 16. 虚拟机与兼容性测试Virtualbox XP - IE6,7,8 TT,Maxthon(遨游), 360, 搜狗…… win7 - IE9,FF,CHROME,OPERA,SAFARI 拒绝 ie collection 与 ie tester
  • 17. 虚拟机与兼容性测试
  • 18. 重要的基础知识
  • 19. 闭包/函数核心意义:一段可以作为参数被其他函数调用的代码 作为一个函数变量的一个引用 - 当函数返回时,其处于激活状态。 当一个函数返回时,一个没有释放资源的栈区。 一个函数,记住了外面发生了什么 所有JS函数都可以视为闭包 关联了很多知识点,需要一起去融会贯通
  • 20. function closure(){ var inner = 0; return function(){ console.log(inner); inner ++; } } var outter = closure(); outter(); //0 outter(); //1 outter(); //2简单例子
  • 21. 作用域只有被var定义的变量,才能成为局部变量
  • 22. 预定义
  • 23. 函数函数作为一个引用,可以随意传递
  • 24. 函数作用域函数的作用域机制与变量类似
  • 25. argumentsarguments是一个可以枚举的对象
  • 26. thisthis 指向的是当前函数作用域内引用该函数的对象。 如果函数执行时没有对象引用,this 指向window。
  • 27. this可以为函数指定(变更)引用对象,从而改变this的指向。
  • 28. call 与 apply它们都可以改变函数的this指向
  • 29. 简单bind函数call 与 apply
  • 30. mapreduceMapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(化简)",和他们的主要思想,都是从函数式编程语言借来的,还有从矢量编程语言借来的特性。 分享一篇很好的文章: http://sd.csdn.net/a/20110531/298961.html 英文地址: http://www.joelonsoftware.com/items/2006/08/01.html
  • 31. 面向对象的开发方式
  • 32. 可以用下面的方式构造一个“类”基于对象的继承
  • 33. 可以用这种方式实现继承基于对象的继承把初始化代码放到init,而不是直接写在函数里面
  • 34. 优点 逻辑简单,容易理解,容易上手 调用父类方法方便 能够实现私有方法与私有变量 无需理解复杂的this指向 缺点 无法实现掺元 占用内存较大 无法重载 基于对象的继承
  • 35. 首先我们需要一个函数,能够扩展,合并对象。可以像这样使用它:原型继承
  • 36. 原型继承像这样构造基类
  • 37. 原型继承像这样继承
  • 38. 原型继承优点 占用内存少 可以实现重载 可以实现掺元 缺点 this指向逻辑容易混淆 无法实现实际意义上的私有方法与私有变量 代码复杂
  • 39. 陷阱
  • 40. 零碎经验
  • 41. Object & Hash一个任意长度的字符串,要求统计里面每个字符出现了多少次。
  • 42. {} 作为参数比起列一堆参数,用{}作为参数更有优势
  • 43. each用each函数进行遍历,可以模拟块作用域,下面是来自于mootools的2个函数
  • 44. each可以遍历数组与对象,可以指定循环块绑定的作用域
  • 45. 可以遍历arguments对象和自定义可遍历对象each
  • 46. 命名空间用一个命名空间管理全局变量
  • 47. 命名空间
  • 48. typeOf从mootools中分离的typeOf
  • 49. typeOf
  • 50. 取得月份的最后一天
  • 51. 数组join方法通常用来提速字符串连接 concat方法通常用来进行快速的浅复制 push, pop, shift,unshift 方法通常用于操作栈与队列
  • 52. 可以用length快速剪裁数组数组设置length为 0,可以清空数组
  • 53. slice : 不修改原数组获取子数组自解数组
  • 54. 链式调用
  • 55. 链式调用
  • 56. 链式调用
  • 57. 链式调用
  • 58. 处理密集操作
  • 59. 常见兼容性问题与解决方案- relative & zoom:1 & 空元素清除浮动 - setTimeout(fn,20); //form.submit - 遮罩,select,input,iframe - position:fixed - javascript:;与javascript:void(0); - png
  • 60. 推荐书籍
  • 61. Q & A
  • 62. (本页无文本内容)