gpt4 book ai didi

JavaScript final方法

转载 作者:行者123 更新时间:2023-12-03 23:26:14 24 4
gpt4 key购买 nike

javascript 中的方法可以是 final 的吗?如何避免被子类覆盖?

最佳答案

在传统意义上,不,您不能拥有私有(private)/ protected 方法或防止它们被覆盖。

然而,您可以做的是将方法封装在一个范围内,然后简单地不公开它们:

function foo(){
function bar(){
// private function
}

this.doSomething = function(){
bar();
}
}

这已经是您所能得到的最接近的了。我前段时间写过一篇文章:http://www.htmlgoodies.com/primers/jsp/article.php/3600451/Javascript-Basics-Part-8.htm

您还可以使用 __defineGetter____defineSetter__ 来阻止访问,但它们不是 100% 跨浏览器。

var x = {};
x.__defineGetter__('foo', function(){ return 10; });
x.__defineSetter__('foo', function(){});

x.foo = 'bar';
x.foo; // 10

关于JavaScript final方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5796981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com