我正在使用来自felixge的Node强大的软件包。这是一个Javascript问题,而不是一个强大的问题,或者我认为。
如果我在MYOBJ上执行console.log,我会得到以下内容:
full_filename = os.path.join(dirpath, filename)
if os.path.isfile(full_filename):
print(full_filename, hashlib.md5(open(full_filename, 'rb').read()).digest())
如果我执行console.log,请执行以下操作:
{ file1:
File {
domain: null,
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
size: 62464,
path: 'myDir/upload_e79d8d551721e2f399afbc39d5d5eaab.doc',
name: 'somefile.doc',
type: 'application/msword',
hash: null,
lastModifiedDate: Thu May 19 2016 20:22:24 GMT+0530 (IST),
_writeStream:
WriteStream {
_writableState: [Object],
writable: true,
domain: null,
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
path: 'uploadDir/upload_1e0e9625e27f5c5172eaf5d18172f946.doc',
fd: null,
flags: 'w',
mode: 438,
start: undefined,
pos: undefined,
bytesWritten: 62464,
closed: true } } }
我得到以下内容:
for (var filename in MYOBJ)
console.log(MYOBJ[filename]);
我显而易见的问题是:
为什么" file1"的其他属性?没显示?可能是他们不是对象" ownProperty"?即便如此,为什么" lastModifiedDate"成为" mtime?"
答案 0 :(得分:1)
让我猜一下...... cosnole.log
的实施可能会使用Object.getOwnPropertyDescriptor()并列出所有不可枚举的值
var o = {}
Object.defineProperty(o, 'nonEnumerableValue', {value: 1})
console.log(o) // {}
console.log(o.nonEnumerableValue) // 1