《你不知道的js》值函数作用域和块作用域

一、函数中的作用域定义:属于这个函数的全部变量都可以在整个函数的范围内使用及服用(事实上在嵌套的作用域中也可以使用)。1.1 函数作用域有什么作用?隐藏内部实现可以把变量和函数包裹在一个函数的作用域中,然后用这个作用域来“隐藏”他们。 为什么要“隐藏”变量和函数? 遵循软件设计中,最小特权原则,也叫最小暴露原则。比如某个模块或对象的API设计。 规避冲突避免同名标识符之间的冲突。 方式:1、...

继续阅读 »

《你不知道的js》之词法作用域

1、作用域的分类词法作用域动态作用域(比如Bash脚本、Perl中的一些模式等)。2、词法作用域定义:定义在词法阶段的作用域,换句话说,词法作用域是由你写代码是将变量和快作用域写在哪里来决定的,因此当词法分析器处理代码时会保持作用域不变(大部分情况是这样)。这个名称来历是编译器的第一个阶段叫作词法化,词法化的过程会对源代码中的字符进行检查,如果是有状态的解析过程,还会赋予单词语义。3、查找作...

继续阅读 »

《你不知道的js》之作用域是什么

前沿面试被问到闭包、作用域等一系列的问题,我下定决心我要把它拿下!一、作用域是什么定义:设计良好的规则来存储变量,并且之后可以方便地找到这些变量。1.1 作用域的规则是什么在传统的编译语言的流程中,程序的一段源代码在执行之前会经历三个步骤。统称为“编译”。分词/词法分析这个过程会将由字符组成的字符串分解成(对编程语言来说)有意义的代码块,这些代码块被称为词法单元(token)。例如:var ...

继续阅读 »

js设计模式之策略模式

前沿上周看了一下js设计模式之策略模式,加上几天的思考,可以来吧啦吧啦一下^_^。策略模式首先说一下“策略”这个词,从字面上很好理解,就是做一件事情的方案,比如说:我要出去旅游,就会有多种途径到达目的地。如果没有时间但是不在乎钱,可以选择坐飞机。如果没有钱,可以选择坐大巴或者火车。如果再穷一点,可以选择骑自行车或者11路公交车。在程序设计中,我们要实现某一个功能有很多种方案。策略模式的定义是...

继续阅读 »

js设计模式之单例模式

前沿总在想应该留点什么下来,是自己变懒了许多,终于想着更新了……今天想写写js设计模式之单例模式,以下属个人见解,不正确的地方望指正。单例模式1、定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点2、实现单例模式var Singleton = function( name ){ this.name = name; this.instance = null; }; S...

继续阅读 »