Javascript 我怎样才能预防;window.location.replace();防止被覆盖?

Javascript 我怎样才能预防;window.location.replace();防止被覆盖?,javascript,html,function,object,Javascript,Html,Function,Object,我需要一种方法来防止更改/覆盖window.location.replace()(例如:window.location.replace=function(){return“Hi”}。首先,我尝试了Object.freeze(window.location.replace)但这没有任何作用。您可以使用对象。定义属性使其不可写且不可配置: “严格使用”; Object.defineProperty( 窗口位置, “替换”, {value:window.location.replace} ); //

我需要一种方法来防止更改/覆盖
window.location.replace()
(例如:
window.location.replace=function(){return“Hi”}
。首先,我尝试了
Object.freeze(window.location.replace)
但这没有任何作用。

您可以使用
对象。定义属性
使其不可写且不可配置:

“严格使用”;
Object.defineProperty(
窗口位置,
“替换”,
{value:window.location.replace}
);
//以严格模式抛出
window.location.replace=function(){return“Hi”};
//在草率模式下,上述分配将无声地失败
2件事:
_
strict mode
:允许
Object.freeze
防止编辑对象。如果没有“strict mode”,则
Object.freeze
只能防止添加、删除对象。
_
Object.free
只能对对象中的1个级别生效

因此,解决方案是:

'use strict';
Object.freeze(window.location);