问题描述
考虑这个例子:
df['date'] = df['date'].apply(lambda x: pd.to_datetime(str(x)+'1',format='%Y%W%w'))
style_format = {'date':'{:%Y%W}'}
df.style.format(style_format)
如果 var a = {}
a.b =5
a.hasOwnProperty("b") // return True
a.hasOwnProperty("__proto__") // returns False
本身没有声明为对象自己的属性,则
解决方法
__proto__
属性属于在 Object.prototype
的 prototype
对象中声明的 Object
,而不是您代码中对象 a
的自己的属性。这就是为什么当你这样做时它返回 false 的原因。
a.hasOwnProperty("__proto__") // returns False
如果你这样做:
console.log(Object.prototype.hasOwnProperty("__proto__")) // returns true
这将返回 true
,因为 __proto__
是 Object.prototype
的自己的财产
console.log(Object.prototype.hasOwnProperty("__proto__"))
** 第 2 部分:**
__proto__
属性是 Object.prototype
上的一个简单访问器属性,由 getter
和 setter
函数组成。最终查询 __proto__
的 Object.prototype
的属性访问会找到此属性,但不查询 Object.prototype
的访问不会。如果在查询 __proto__
之前找到其他 Object.prototype
属性,该属性将隐藏在 Object.prototype.
这就是它在原型链中找到的方式。