《JavaScript模式》的读书笔记,个人向!
更新进度随我的阅读进度

基本技巧

尽量少用全局变量

  1. 防止变量污染
  2. 注意JS变量提升问题
  3. 尽量使用单一var模式,只使用一个var在函数顶部进行变量声明
function fun () {var a =1,b=2,sum = a+b,函数体//}

for循环优化

  1. 循环条件优化
for(var i=0; i<myarry.length; i++){//对array[i]进行操作
}

上面那种循环,将marry.length作为循环条件,每次循环时都要访问数据的长度,会使代码变慢,尤其是当条件为HTML容器对象时,每次循环都回去访问DOM,而DOM查询操作是非常慢的,优化方法就是将已循环过的条件缓存起来

//这种方式,对长度只提取一次
for(var i=0, max=myarry.length; i<max; i++){//对array[i]进行操作
}//也可以结合刚才的单一var 模式
var myarry=[],max=myarry.length,i=0for(i; i<max; i++){}

2、用i++替代 i=i+1, i+=1
这样替代的好处是1、使用了最少的变量 2、逐步减至0因为跟0比较比跟数组长度比较更有效率
优化代码

var myarr=[],i=myarr.lengthwhile(i--){//操作}

for-in循环

  1. 推荐使用,for循环来遍历数组,用for-in循环来遍历对象
  2. hasOwnProperty()过滤原型链属性
var man = {hands:2,legs:2,head:1
},
i=0
Object.prototype.clone='zhang'for(i in man){if(man.hasOwnProperty(i)){console.log(i,":",man[i]);}
}
//这样子就在循环的时候过滤掉了继承属性了

hasOwnProperty(),并不常用,当确认不了对象的内容时可以用上它进行安全检查

switch模式

switch(n)
{
case 1:执行代码块 1break;
case 2:执行代码块 2break;
default:result = "unknow"
}
  • 保持缩进整齐
  • 每个case语句结尾有一个break语句
  • 用default作为switch的结尾,当所有case不匹配时给出一个默认结尾

不要增加内置的原型

尽量不要对内置构造函数(Object(),Array()等)增加原型

避免使用隐式类型转换

JS中在使用比较语句时会进行隐式类型转换,别如‘false==0’会返回true
在使用比较语句的时候使用'==='和'!==='来进行比较

parseInt()

parseInt()第二个参数是进制参数,通常可以省略,但最好不要省略,因为该函数在解析0开头的字符串的时候会按8进制来解析

var year="09";
year=parseInt(year,10) // return 9
// parseInt(year)返回值是0//如果是纯数字字符串,可以用下面两种方法转换
+'08' //结果是8
Number('08') //结果是8
// 如果不是纯数字字符串,只能用paeseInt()来解析,其它方法都将反回NAN

用注释生成API文档

JS有两个开源的工具来用注释生成API文档,分别是JSDoc Toolkit和YUIDoc
根据这两工具所规定的格式来写注释代码,就能够生成API文档

《JavaScript模式》读书笔记一:基本技巧相关推荐

  1. JavaScript模式读书笔记 第3章 字面量和构造函数

    1,对象字面量     -1,Javascript中所创建的自定义对象在任务时候都是可变的.可以从一个空对象开始,根据需要增加函数.对象字面量模式可以使我们在创建对象的时候向其添加函数.       ...

  2. JavaScript模式读书笔记 第5章 对象创建模式

    1,命名空间模式  namespace   <script> var myApp = {};//通过全局变量来实现命名空间 maApp.Parent = function (){   }; ...

  3. JavaScript设计模式读书笔记(四)= 技巧型设计模式

    全系列目录 JavaScript设计模式读书笔记(一)=> 创建型设计模式 JavaScript设计模式读书笔记(二)=> 结构型设计模式 JavaScript设计模式读书笔记(三)=&g ...

  4. JavaScript设计模式读书笔记(一)= 创建型设计模式

    全系列目录 JavaScript设计模式读书笔记(一)=> 创建型设计模式 JavaScript设计模式读书笔记(二)=> 结构型设计模式 JavaScript设计模式读书笔记(三)=&g ...

  5. 【读书笔记】工作技巧-科学笔记,如何有效阅读一本书:超实用笔记读书法(日本.奥野宣之)_20190608

    [概述] 书名:如何有效阅读一本书:超实用笔记读书法 作者:日本.奥野宣之 日期:2019年6月8日 大事件记录:前天,台湾名模林志玲嫁给了日本男艺人. 读书用时:5小时,347页. [读书笔记] 我 ...

  6. 创建类模式(读书笔记)

    最近在读秦小波写的设计模式之禅这本书,创建类模式读完了,现在做一个读书笔记总结.创建类模式包括单例模式.原型模式.工厂方法模式.抽象工厂模式.建造者模式,它们都能提供对象的创建和管理职责. 单例模式( ...

  7. 【读书笔记】管理技巧-逆商思维,逆商:我们该如何应对坏事件_2020.07.01

    [概述] 书名:逆商:我们该如何应对坏事件 作者:保罗·史托兹 日期:2020年07月01日 读书用时:1028页,8.5小时. [读书笔记] ◆ 推荐序一 逆风飞扬 >> 逆商的CORE ...

  8. Javascript模式阅读笔记 · 简介

    JavaScript是一门基于Web的语言.它最初是作为在网页中操作一些特定类型元素(例如图像和表格字段)的方法,现在该语言的发展已经远远超出了预期.除了作为客户端浏览器所使用的脚本,现在JavaSc ...

  9. HeadFist里面的工厂方法模式读书笔记

    上周学习工厂模式:https://blog.csdn.net/LCF_lxf_ldy/article/details/84029328 但是觉得是HeadFirst让人能够更加清楚的了解,看了些许,就 ...

  10. JavaScript 引用类型 读书笔记

    ● Object 类型 ● Array类型 ● Date类型 ● RegExp类型 ● Function类型 ● 基本包装类型 ● 单体内置对象 Object类型 创建对象: 使用`new Objec ...

最新文章

  1. 关于null和undefined
  2. docker容器管理 php,基于Docker的PHP开发环境
  3. [html] 页面布局时你使用最多的标签是什么?div吗?在什么情况下会使用到div?
  4. c语言通过指针变量输出10个元素,C语言程序设计第2版指针程序设计(10页)-原创力文档...
  5. sharepoint 页面定制经验小结
  6. butterknife 不能绑定错误
  7. 系统架构师学习笔记_第六章(下)_连载
  8. oracle函数 power(x,y)
  9. freeswitch:sofia.c:5180 Invalid ext-sip-ip
  10. RedHat 企业版5下系统故障恢复
  11. Python imageio方法示例
  12. Useful webs
  13. linux内网劫持教程,利用kali进行dns劫持入侵局域网
  14. IPC技术与评分卡技术区别
  15. 你们以为洗白了张柏芝,自己就不是婊子
  16. python数据类型与数据结构--内置数据类型
  17. 怎么用白光干涉仪的拼接测量功能
  18. Jacobian矩阵的理解
  19. umi中@umijs/plugin-dva的使用,及实现一套增删改
  20. uni-app如何使用HBuildX云打包发布app

热门文章

  1. Nginx+Php-fpm+MySQL+Redis源码编译安装指南
  2. js获取字符串最后一个字符代码
  3. HFileOutputFormat与TotalOrderPartitioner
  4. hive实现not in
  5. 就linux学习的一点感受,学习linux的体会
  6. Linux并发与竞争介绍(原子操作、自旋锁、信号量、互斥体)
  7. # 和 ## 的区别
  8. 全国计算机等级考试题库二级C操作题100套(第76套)
  9. python实现50行代码_50行Python代码,教你获取公众号全部文章
  10. c语言关于链表选择题看不懂,有关链表基本操作三题