drupal_static() uses a FUNCTION variable,what does it mean? function drupal_set_page_content($content = NULL) {
  $content_block = &amp;drupal_static(__FUNCTION__, NULL);
  $main_content_display = &amp;drupal_static('system_main_content_added', FALSE);

  if (!empty($content)) {
    $content_block = (is_array($content) ? $content : array('main' =&gt; array('#markup' =&gt; $content)));
  }
  else {
    $main_content_display = TRUE;
    return $content_block;
  }
}


This snippet is pasted from common.inc. We pass in a __FUNCTION__ to  drupal_static() but I do not know what this variable means. Does it mean a cache for the outer function itself? How does it work? I do not see any data handled inside the function before it returns $content_block.
__FUNCTION__ is one of the so-called Magic Constants of PHP.

All it does is return a string with the name of the function that the constant is contained in.

For example:

function my_strangely_named_function() {
  print __FUNCTION__;
}


The above will print 'my_strangely_named_function'.

Drupal uses this constant with its static cache so that each cache is identifiable from any other function, and as such can be identifiably cleared.

To use an abridged version of your code:

function drupal_set_page_content($content = NULL) {
  $content_block = &amp;drupal_static(__FUNCTION__, NULL);
}


Any other function in the Drupal lifecycle can call:

drupal_static_reset('drupal_set_page_content');


And that will clear the cache for that specific function, so that next time it's called the data is built up as if from new.

That's just the basic use of the static cache pattern, you can find more information and examples on the documentation page for drupal_static() itself.