资讯专栏INFORMATION COLUMN

《JavaScript模式》读书笔记一:基本技巧

wapeyang / 737人阅读

摘要:模式的读书笔记,个人向更新进度随我的阅读进度基本技巧尽量少用全局变量防止变量污染注意变量提升问题尽量使用单一模式,只使用一个在函数顶部进行变量声明函数体循环优化循环条件优化对进行操作上面那种循环,将作为循环条件,每次循环时都要访问数据的长度

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

基本技巧 尽量少用全局变量

防止变量污染

注意JS变量提升问题

尽量使用单一var模式,只使用一个var在函数顶部进行变量声明

function fun () {
        var a =1,
        b=2,
        sum = a+b,
        函数体//
    }
for循环优化

循环条件优化

for(var i=0; i

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

//这种方式,对长度只提取一次
for(var i=0, max=myarry.length; i

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

var myarr=[],
    i=myarr.length
    while(i--){
        //操作
    }
for-in循环

推荐使用,for循环来遍历数组,用for-in循环来遍历对象

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:
  执行代码块 1
  break;
case 2:
  执行代码块 2
  break;
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文档

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/108397.html

相关文章

  • Effective JavaScript读书笔记

    摘要:如果为假值,不传或者传入,函数都会返回但是,传入这个值是完全有可能的,所以这种判断形势是不正确的或者使用来判断也可以原始类型优于封装类型对象拥有六个原始值基本类型布尔值,数字,字符串,,和对象。 作为一个前端新人,多读书读好书,夯实基础是十分重要的,正如盖楼房一样,底层稳固了,才能越垒越高。从开始学习到现在,基础的读了红宝书《JavaScript高级程序设计》,犀牛书《JavaScri...

    zhoutao 评论0 收藏0
  • Javascript 设计模式读书笔记(二)——封装,简单的创建对象模式

    摘要:创建对象中,创建对象的基本模式有三种。因此,在设计构造函数时,需要进行慎重考虑。因此在中,这种问题被称作继承破坏封装。静态成员每个只有一份,直接通过类对象进行访问。 什么是封装 找工作时一些公司给了offer后我就想知道真正拿到手的是多少,毕竟赋税繁重。但各种税也好,五险一金也好我实在是弄不清楚,于是我就会在网上的一些税后收入计算器上进行计算,只需要填写一些基本信息,比如税前收入,所...

    lentrue 评论0 收藏0
  • JavaScript 设计模式与开发实践读书笔记

    摘要:设计模式与开发实践读书笔记最近利用碎片时间在上面阅读设计模式与开发实践读书这本书,刚开始阅读前两章内容,和大家分享下我觉得可以在项目中用的上的一些笔记。事件绑定暂时这么多,以后会不定期更新一些关于我读这本书的笔记内容 JavaScript 设计模式与开发实践读书笔记 最近利用碎片时间在 Kindle 上面阅读《JavaScript 设计模式与开发实践读书》这本书,刚开始阅读前两章内容,...

    FingerLiu 评论0 收藏0
  • javascript高级程序设计》第六章 读书笔记javascript继承的6种方法

    摘要:继承的是超类型中构造函数中的属性,如上继承了属性,但没有继承原型中的方法。上述造成的结果是子类型实例中有两组超类型的构造函数中定义的属性,一组在子类型的实例中,一组在子类型实例的原型中。 ECMAScript只支持实现继承,主要依靠原型链来实现。与实现继承对应的是接口继承,由于script中函数没有签名,所以无法实现接口继承。 一、原型链 基本思想:利用原型让一个引用类型继承另一个引用...

    孙吉亮 评论0 收藏0
  • JavaScript 语言精粹》读书笔记 - 函数

    摘要:语言精粹读书笔记第四章函数函数字面量函数字面量包含个部分第一部分,保留字第二部分,函数名,它可以被忽略。这个超级延迟绑定使得函数对高度复用。构造器调用模式一个函数,如果创建的目的就是希望结合的前缀来调用,那它就被称为构造器构造。 《JavaScript 语言精粹》 读书笔记 第四章 函数 Functions 函数字面量 函数字面量包含4个部分: 第一部分, 保留字 function...

    wdzgege 评论0 收藏0

发表评论

0条评论

wapeyang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<