首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Somnusochi
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
文章
热门
最新
koa2学习笔记
koa文档学习并记录安装helloworld在koa-demo下新建一个my-koa-app.js输入以下内容运行nodemy-koa-app
16.避免使用eval创建局部变量
调用eval函数会将其参数作为JavaScript程序进行解释。但是该程序运行于调用者的局部作用域中,嵌入到程序的全局变量会被创建为调用程序的局部变量。 当条件语句被执行时,放置在该条件语句中的eval函数才会将其变量加入到作用域中。 基于作用域决定程序的动态行为通常是个坏主意…
15.当心局部块函数声明笨拙的作用域
如果我们把函数f移到局部块里。 ES5里面JavaScript没有块级作用域,所以内部函数f的作用域应该是整个test函数,上述例子合理猜测是["local","local"]和["local"]。直到ES5,JavaScript标准才承认局部块函数声明存在,官方指定函数声明只…
14.当心命名函数表达式笨拙的作用域
相同的JavaScript函数根据上下文其含义会发生变化。 命名函数表达式会绑定到与其相同函数名相同的变量上,该变量将作为该函数内的一个局部变量,可以用来写递归函数表达式(命名函数表达式不能通过其内部的函数名在外部被引用)。 在Error对象和调试器中使用命名函数表达式改进栈跟…
13.使用立即调用的函数表达式创建局部作用域
闭包存储的是其外部变量的引用而不是值。 通过立即调用的函数表达式来创建一个局部作用域。 理解绑定与赋值的区别。 闭包通过引用而不是值捕获它们的外部变量。 使用立即调用的函数表达式(IIFE)来创建局部作用域。 当心在立即调用的函数表达式中包裹代码块可能改变其行为的情形。
12.理解变量声明提升
JavaScript不支持块级作用域,变量定义的作用域并不是离其最近的封闭语句或代码块,而是包含它们的函数。 将变量声明看作两部分,声明与赋值来理解JavaScript变量声明行为。JavaScript隐式地提升声明部分到封闭函数的顶部,而将赋值留在原地。 变量声明提升也可能导…
11.熟练掌握闭包
JavaScript允许你引用在当前函数以外定义的变量。 即使外部函数已经返回,当前函数仍然可以引用在外部函数所定义的变量。 函数可以引用在其作用域内的任何变量,包括参数和外部函数变量。 函数可以引用定义在其外部作用域的变量。 闭包比创建它们的函数有更长的生命周期。 闭包在内部…
10.避免使用with
程序经常需要对单个对象依次调用一系列方法。 使用with语句从模块对象中“导入”(import)变量也是很有诱惑力的。 变量作用域和对象命名空间之间的冲突使得with代码块异常脆弱。
9.始终声明局部变量
忘记将变量声明为局部变量,该变量将会被隐式地转变为全局变量。 故意地创建全局变量是不好的风格,而故意地创建全局变量将是彻头彻尾的灾难。 始终使用var声明新的局部变量。 考虑使用lint工具帮助检查未绑定的变量。
1.了解你使用的JavaScript版本
在程序的最开始增加一个特定的字符串字面量。 旧的引擎不会进行任何的严格模式检查。如果你没有在ES5环境中做过测试,那么,编写的代码运行于ES5环境中就很容易出错。 use strict指令只有在脚本或函数的顶部才能生效。 不要将进行严格模式检查的文件和不进行严格模式检查的文件连…
下一页
个人成就
文章被阅读
2,269
掘力值
122
关注了
7
关注者
0
收藏集
2
关注标签
29
加入于
2016-11-15