グローバル変数が、おかしくないか?

http://oshiete.goo.ne.jp/qa/5932254.html

>スコープについて

関数の外で宣言したら、var を付けようが付けまいが、グローバルじゃね?

<さんからの指摘の件

>・target.ownerDocument === window.document であることを前提にして大丈夫ですか。
>・HTMLOptionsCollection に、添字による setter が定義されていたでしょうか。

select.add( new Option( 〜 ), null )

しかし、ownerDocument を参照するならば、 new Option が使えなくなるということ?

var setFormSelect = function ( target, aryText, arayValue, defaultNo, selectedNo ) {
  if( !target || 'SELECT' != target.nodeName ) return;
  var i, I, opt;
  var doc = target.ownerDocument;
  var df  = doc.createDocumentFragment();
  
  target.options.length = 0;

  if( 'undefined' === typeof arrayValue ) aryValue = aryText;
  if( 'number'    !== typeof defaultNo  ) defaultNo  = 0;
  if( 'number'    !== typeof selectedNo ) selectedNo = defaultNo;

  for( i = 0, I = aryText.length; i < I; i++ ) {
    opt = doc.createElement( 'OPTION' );
    opt.appendChild( doc.createTextNode( aryText[i] ) || '' );
    opt.value = aryValue[i] || '';
    opt.defaultSelected = defaultNo == i;
    opt.selected = selectedNo == i;
    df.appendChild( opt );
  }
  
  target.appendChild( df );
}

コードをインデントする

think49さんありがとう〜!
超便利。いつか自分で作ろうと思っていたけど、楽!
JavaScriptのコード整形&色付け(貼り付け用)
http://www.enjoyxstudy.com/misc/20060911/code_paste.html
http://jsbeautifier.org/
Online javascript beautifier