开始阅读 javascript ninja book,我真的不明白为什么下面的示例中需要“this”这个词。我试过了,没有它,代码没有运行。'this' 在以下上下文中的作用是什么?我想我理解“这个”(或者可能根本不理解),但在下面,我就是不明白。请告诉我!谢谢你。
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
(function() {
var results;
this.assert = function assert(value,desc) {
var li = document.createElement("li");
li.className = value ? "pass" : "fail";
li.appendChild(document.createTextNode(desc));
results.appendChild(li);
if ( !value ) {
li.parentNode.parentNode.className = "fail";
}
return li;
};
//this.test = function test(name, fn) {
this.test = function test(name, fn) {
results = document.getElementById("results");
results = assert(true, name).appendChild(document.createElement("ul"));
fn();
};
})();
window.onload = function() {
test("A test", function() {
assert(true, "First assertion completed");
assert(true, "Second assertion completed");
assert(true, "Third assertion completed");
});
test("Another stupid test", function() {
assert(true, "First assertion completed");
assert(true, "Second assertion completed");
assert(true, "Third assertion completed");
});
test("A third test", function() {
assert(null, "fail");
assert(5, "pass")
});
};
</script>
<style type="text/css">
#results li.pass { color: green;}
#results li.fail { color: red;}
</style>
</head>
<body>
<ul id="results"</ul>
</body>
</html>