2013-02-07 111 views
0

爲什麼這個HTML /腳本(來自「JavaScript忍者的祕密」)渲染?JavaScript渲染

http://jsfiddle.net/BCL54/

<html> 
    <head> 
     <script> 
      function outer(){ 

    var a = 1; 

    function inner(){ /* does nothing */ } 

    var b = 2; 

    if (a == 1) { 
    var c = 3; 
    } 

} 

outer(); 

assert(true,"some descriptive text"); 
assert(typeof outer==='function', 
     "outer() is in scope"); 
assert(typeof inner==='function', 
     "inner() is in scope"); 
assert(typeof a==='number', 
     "a is in scope"); 
assert(typeof b==='number', 
     "b is in scope"); 
assert(typeof c==='number', 
     "c is in scope"); 
     </script> 
    </head> 
    <body>   
    </body> 
</html> 
+2

因爲您沒有導入包含assert函數的必要腳本。 –

+0

你期望呈現什麼?我看到一個空的''元素。 – Bergi

+0

http://fiddle.jshell.net/BCL54/show/的源代碼無效,您不能將整個HTML文檔放在那裏 – Bergi

回答

3

因爲你沒有導入包含assert功能Resig的必要的腳本:

<script> 
function assert(pass, msg){ 
    var type = pass ? "PASS" : "FAIL"; 
    jQuery("#results").append("<li class='" + type + "'><b>" + type + "</b> " + msg + "</li>"); 
} 
function error(msg){ 
    jQuery("#results").append("<li class='ERROR'><b>ERROR</b> " + msg + "</li>"); 
} 
function log(){ 
    var msg = ""; 
    for (var i = 0; i < arguments.length; i++) { 
    msg += " " + arguments[i]; 
    } 
    jQuery("#results").append("<li class='LOG'><b>LOG</b> " + msg + "</li>"); 
} 
</script> 

你可以找到在his site源的功能。請注意,這些函數還要求提供jQuery和一些DOM元素以供編寫。你最好適應你的頁面。

直到你精通足夠的JavaScript來重寫這些函數,你最好直接在網站上做出優秀的練習。

+0

也要添加,他會想要一個'身份證號''結果'在體內。 – dennmat