gpt4 book ai didi

javascript - 在 JavaScript 的构造函数中定义任意代码和局部变量函数是不好的做法吗?

转载 作者:行者123 更新时间:2023-12-03 04:46:36 25 4
gpt4 key购买 nike

我的任务是重构前雇员的一些代码。他使用的构造函数有两点看起来很奇怪 - 1、在函数或属性之外运行的任意代码,以及 2、本地定义的函数。这是他正在做的事情的简化:

var Dog = function(){

// Arbitrary code
console.log('I am a dog');
var foo = 'foo';

// Function defined to local variable
var bar = function(){
console.log(foo);
console.log('bar');
};

// Normal function in a constructor
this.bark = function(){
console.log('bark');
};
};

var d = new Dog();

这种构造函数风格有什么优点吗?或者将其重构为仅使用 this 定义函数会更好吗?风格为bark ,然后在 d 上运行它们根据需要?

最佳答案

嗯,我不认为有什么特殊的“优点”,只是做事的多种方式中的一种。该代码只是在实例化时运行。

“bar”函数对类用户隐藏(或者“私有(private)”,如果您喜欢旧的 OO 名称),而“bark”函数可以从类外部调用。这是在 JS 中进行某种 OO 的方法之一。有很多。

Javascript 是一种非常“自由”的语言。你会看到人们一直在使用不同的做事方式。不只有一种“正确”的方法。习惯了:)

关于javascript - 在 JavaScript 的构造函数中定义任意代码和局部变量函数是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42846064/

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