我注意到我一直在我的代码中使用它们 - 可互换和随机。特别是,当我有一个回调时,我需要一个值,当函数被“回叫”时,它会持续存在。使用传递参数或静态参数是否重要?静态我指的是函数对象属性。我松散地使用这个词。这是我正在研究的例子。
message_object.display( type );
document.getElementById( 'po_but_cov' ).style.display='inline';
pos = 30;
MC.MATweet.movePane.dir = 'down';
MC.MATweet.movePane( pane_element, pos );
return o_p;
},
movePane: function( pane_element, pos ) {
if( ( MC.MATweet.movePane.dir === 'down' ) && ( pos < 70 ) ) {
pos += 1;
pane_element.style.top = ( pos ) + 'px';
setTimeout( function( ){ MC.MATweet.movePane( pane_element, pos ); }, 1 );
}
else if( ( MC.MATweet.movePane.dir === 'down' ) && pos === 70 ) {
MC.MATweet.movePane.dir = 'up';
setTimeout( function( ){ MC.MATweet.movePane( pane_element, pos ); }, 2000 );
}
else if( ( MC.MATweet.movePane.dir === 'up' ) && ( pos > 30 ) ) {
pos -= 1;
pane_element.style.top = ( pos ) + 'px';
setTimeout( function( ){ MC.MATweet.movePane( pane_element, pos ); }, 1 );
}
else if( ( MC.MATweet.movePane.dir === 'up' ) && ( pos === 30 ) ) {
document.getElementById( 'po_but_cov' ).style.display='none';
}
},
如您所见,我使用pos
作为传递参数,并使用MC.MATweet.movePane.dir
作为静态参数。在设定的时间后调用函数时,我需要两个都可用。
我想让我的代码风格更加一致。出于某种原因,更改的值pos
,我作为参数传递,而值只更改MC.MATweet.movePane.dir
我用作静态变量。不要认为这是相关的,只是反思。
我怎样才能更加一致?你选择哪一个是否重要?
仅供参考,此代码只会动画一个框,将其移动,暂停并将其移回。
答案 0 :(得分:0)
现在直接使用直接参数,这样我就可以将初始化移动到初始函数调用中。
结果代码:
message_object.display( type );
document.getElementById( 'po_but_cov' ).style.display='inline';
MC.MATweet.movePane( pane_element, 30, 'down' );
return o_p;
},
movePane: function( pane_element, pos, dir ) {
if( ( dir === 'down' ) && ( pos < 70 ) ) {
pos += 1;
pane_element.style.top = ( pos ) + 'px';
setTimeout( function( ){ MC.MATweet.movePane( pane_element, pos, dir ); }, 1 );
}
else if( ( dir === 'down' ) && pos === 70 ) {
dir = 'up';
setTimeout( function( ){ MC.MATweet.movePane( pane_element, pos, dir ); }, 2000 );
}
else if( ( dir === 'up' ) && ( pos > 30 ) ) {
pos -= 1;
pane_element.style.top = ( pos ) + 'px';
setTimeout( function( ){ MC.MATweet.movePane( pane_element, pos, dir ); }, 1 );
}
else if( ( dir === 'up' ) && ( pos === 30 ) ) {
document.getElementById( 'po_but_cov' ).style.display='none';
}
},