First, I will add some stuff for readability - like a padding: 0.5em; into you dropdown menu. Also, the <br /> tag after the </a> tags (excluding the last one).
Second, the errors happened because there are no element in the page with the class show. I added it to the <div> of the dropdown to show it working and make the errors go away.
Remember this: if the console says there it is undefined, chances are that either you messed up in how to select the element OR it seriously doesn't exists because you misspelled a letter or let's say you forgot to add a class to a given tag (like in this case).
Third, your code in working condition is available below. It isn't using jQuery easing stuff but pure JavaScript - except by the onclick event that is better to use with jQuery:
$("#menu-dropdown").on("click", function() { 
 
  var menu_dropdown = document.getElementById("menudd");
 var menu_item = menu_dropdown.getElementsByTagName("A");
 
  $("#menudd").toggleClass("show");
 menu_dropdown.style.maxHeight = menu_item[0].offsetHeight * menu_item.length + "px";
  
  } ); 
#menudd {
  padding: 0.5em;
  position: fixed;
  overflow: hidden;
  max-height: 0px;
  opacity: 0;
  width: 200px;
  border-radius: 10px;
  box-shadow: 0 0 35px 15px black;
  transition: all 1s ease;
}
#menudd.show {
  opacity: 1;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<span id="menu-dropdown">DropDown</span>
<div id="menudd">
  <a href="index.html">Home</a><br />
  <a href="aboutme.html">About Me</a><br />
  <a href="shotterm.html">Short-Term</a><br />
  <a href="middleterm.html">Middle-Term</a><br />
  <a href="longterm.html">Long-Term</a><br />
</div>
 
 
You can view it working also on this video (Youtube) that I recorded.
Fourth, you can add classes, in pure JavaScript, easily. I won't write about it in full since there is a famous question with a godly answer by Peter Boughton already on Stack Overflow. Read it here.
Anyway, to add a class, simply call:
document.getElementById("MyElementID").className += " MyClass";
It is important to note the space. Since it is a string with values, you need to put it otherwise it will treat all the classes as one word (one class) that doesn't exists.
To remove:
document.getElementById("MyElementID").className = document.getElementById("MyElementID").className.replace( /(?:^|\s)MyClass(?!\S)/g , '' );
Explanation available through Peter's answer. So read it there (important)!
Finally, this is out of the scope of the question and merely a reminder: I need to state that if this is a dropdown menu, you will need to add the show class after some focus (or click even) by calling a function in a master menu of some sort and not by hardcoding it into the <div> like I did to show the code working. For example, a "Cars Brand" item of a menu would have a dropdown with the available car brands (Ford, Toyota and etc) after focusing on it. 
So, it is wise to transform it in a function that receives the ID of the target dropdown to open. And do not forget to close it after losing focus (or whatever).