断言
单元测试框架的核心是断言方法,通常叫assert()。
该方法通常接收一个值--需要断言的值,以及一个表示该断言目的的描述。
如果该值执行的结果为true,断言就会通过;
否则,断言就会被认为是失败的。
通常用一个相应的通过(pass)/ 失败(fail)标记记录相关的信息;
function assert(value, desc) { let li = document.createElement('li'); li.className = value ? 'pass' : 'fail'; li.appendChild(document.createTextNode(desc)); document.getElementById('results').appendChild(li);}// 断言函数function assert(value, desc) { if (value) { console.log(`/033[32m ${desc} /033[0m`); // 断言通过 绿色字体 } else { console.log(`/033[31m ${desc} /033[0m`); // 断言失败 红色字体 }}
函数
if (window) { var x = 123;}alert(x);
执行代码后,会弹出123,是因为JavaScript在大括号关闭处并没有终止其作用域。
作为函数进行调用
如果一个数不是作为方法、构造器、或者通过apply()或call()进行调用的,则认为它是“作为函数”进行调用的。
function ninja() {};ninja()var samurai = function() {};samurai()以这种方式调用时,函数的上下文是全局上下文---window对象。
作为方法进行调用
当一个函数被赋值给对象的一个属性,并使用引用该函数的这个属性进行调用时,那么函数就是作为该对象的一个方法进行调用的。
新闻热点
疑难解答
图片精选