我在用
console.log(p);
console.log(p.datestrshow);
但是控制台中的输出是
为什么它显然不是未定义的?
正在做
for(i in p)
console.log(i+': ', (typeof p[i] == 'function' ? 'function' : p[i]));
结果是
我在用
console.log(p);
console.log(p.datestrshow);
但是控制台中的输出是
为什么它显然不是未定义的?
for(i in p)
console.log(i+': ', (typeof p[i] == 'function' ? 'function' : p[i]));
结果是
当您调用它时,它console.log
不会克隆您的对象。p
发生的事情是,p.datestrshow
当您确实是未定义console.log
的,但是当您在控制台中展开p
对象时,它已被定义,并且控制台显示p
对象的当前状态已datestrshow
定义。
这是您可以在控制台中进行的测试:
var test = {a:'a'};
console.log( test ); // log to the console before we define 'b'
test.b = 'b';
在控制台中运行此代码,然后展开已记录的对象。即使我们b
在 之后明确定义console.log
,它仍然会在您展开对象时出现。