在下面的代码中,我想问调用seqer.set_prefix = ('Q');
和seqer.set_prefix('Q');
有什么区别?
var serial_maker = function ( ) {
// Produce an object that produces unique strings. A
// unique string is made up of two parts: a prefix
// and a sequence number. The object comes with
// methods for setting the prefix and sequence
// number, and a gensym method that produces unique
// strings.
var prefix = '';
var seq = 0;
return {
set_prefix: function (p) {
prefix = String(p);
},
set_seq: function (s) {
seq = s;
},
gensym: function ( ) {
var result = prefix + seq;
seq += 1;
return result;
}
};
};
var seqer = serial_maker();
seqer.set_prefix = ('Q'); // OR seqer.set_prefix('Q');
seqer.set_seq = (1000); // OR seqer.set_seq(1000);;
var unique = seqer.gensym(); // unique is "Q1000"
发布于 2014-12-19 13:28:47
区别是:
seqer.set_prefix = ('Q');
将set_prefix
属性替换为值'Q'
。
seqer.set_prefix('Q');
使用值set_prefix()
调用'Q'
方法。(这反过来将prefix
变量的值设置为'Q'
。)
同样的解释也适用于使用set_seq
的行。
https://stackoverflow.com/questions/27574087
复制