摘要:
js程序是构建在事件之上的。输入可能来自不同的外部源。在一些语言中,我们习惯地编写代码来等待某个特定的输入。 像这样的形式downloadSync称为同步函数(或阻塞函数)。程序会停止做任何工作,而等待它的输入。在这个例子中,也就是等待从网络上下载文件的结果。由于在等待下载完成的期间,计算机可以做其 阅读全文
posted @ 2016-07-15 18:37
脚后跟着猫
阅读(381)
评论(0)
推荐(0)
API有时被归为两类:有状态的和无状态的。无状态的API提供的函数或方法的行为只取决于输入,而与程序的状态改变无关。字符串的方法是无状态的。字符串的内容不能被修改,方法只取决于字符串的内容及传递给方法的参数。不管程序其他部分的情况,表达式"foo".toUpperCase()总是产生"FOO"。相反,Date对象的方法却是有状态的。对于相同的Date对象调用toString方法会产生不同的结果,这取决于Date的各种set方法是否已经将Date的属性修改。 阅读全文
早期版本中的条件逻辑如果不需要默认值则会避免计算默认值。只要计算默认值对诸如修改用用户接口或发送网络请求没有影响,那么这不是一个问题。
判断一个值是否已经提供了的逻辑。在早前版本中,对于字符串参数,我们将空字符串视为undefined等价。只将undefined视为缺省的参数更恰当。使用或(||)操作符是一个提供默认参数值有效但非一致的策略。
一致性是库设计的一个良好目标,因为它会给api的使用者带来更好的可预测性。 阅读全文
undefined值很特殊,每当js无法提供具体的值时,就会产生undefined。 undefined值场景 未赋值的变量的初始值即为undefined。var x; x;//undefined 访问对象不存在的属性也会产生undefined。var obj={}; obj.x;//undefined 一个函数体结尾使用未带参数的return语句,或未使用return语句都会返回值undefin 阅读全文
不要修改这样的约定。比如前端要处理多种语言html,css,js本来要记得东西都够多的啦。不要引入一些不必要的改变,使工作变得复杂。就像在css中我们在描述矩形的四条边的参数时,总是以上右下左的顺序。因为这个和margin,padding等属性约定相同顺序。如果违反了这个约定,页面表现一定会出错。 阅读全文