Ошибка выплывает отсель
Вы тут на автомате переопределили переменную
$('#but2').click(function fun2(num1){
  alert(num1);
<!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta charset="utf-8" />
 <!--[if IE]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
 <title></title>
 <meta name="keywords" content="" />
 <meta name="description" content="" />
 <link rel="stylesheet" href="style.css" type="text/css" media="screen, projection" />
<style>
p[id^="but"] {
 border:red solid 1px;
 cursor:pointer;
 padding:2px 12px;
 width:54px;
}
</style>
 <script src="http://code.jquery.com/jquery-latest.js"></script>
 <script type="text/javascript">
$(document).ready(function() {
 $('.knopka').click(function(){$('#tablo').append($(this).text()+', ');});
 var num1;
 $('#but1').click(function fun1(){
 num1 = $('#tablo').text().toString();
 alert(num1);
 $('#tablo').empty();
 })
 $('#but2').click(function fun2(){
 //fun1();
    alert(num1)
 })
 });
 </script>
 </head>
 <body><div id="wrapper">
 <div id="content">
 <div id="tablo">tablo =></div>
 <p class="knopka">1</p>
 <p class="knopka">2</p> 
 <p id="but1">zapomnil</p>
 <p id="but2">pokazal</p>
 </div><!-- #content-->
 </div><!-- #wrapper -->
 </body>
 </html>