要在xPages中测试,可以使用:
<xp:text escape="false">
<xp:this.value>
<![CDATA[#{javascript:
(function() {
var fn = function() {};
fn.prototype = {prop: "value"};
var obj = new fn();
return [
obj.hasOwnProperty("prop"),
obj.hasOwnProperty("undefined_prop"),
obj.hasOwnProperty("toString"),
obj.hasOwnProperty("constructor")
];
})();
}]]>
</xp:this.value>
</xp:text>
<!-- returns [true, false, true, true] -->
要在浏览器中对此进行测试,您可以将javascript代码粘贴到浏览器控制台。
//returns [false, false, false, false] (in browser)
以下是MDN
的引用来自Object的每个对象都继承hasOwnProperty方法。此方法可用于确定对象是否具有指定的属性作为该对象的直接属性;与in运算符不同,此方法不会检查对象的原型链。
为什么xPages SSJS行为与浏览器不同?