相关疑难解决方法(0)

方法和函数之间有什么区别?

有人可以在OOP上下文中提供方法函数的简单解释吗?

language-agnostic oop methods terminology function

1665
推荐指数
23
解决办法
67万
查看次数

为什么扩展本机对象是一种不好的做法?

每个JS意见领袖都说扩展原生对象是一种不好的做法.但为什么?我们是否获得了性能?他们是否害怕有人以"错误的方式"做到这一点,并添加了可枚举的类型Object,几乎破坏了任何对象上的所有循环?

TJ Holowaychukshould.js为例.他增加了一个简单的getterObject,一切工作正常(来源).

Object.defineProperty(Object.prototype, 'should', {
  set: function(){},
  get: function(){
    return new Assertion(Object(this).valueOf());
  },
  configurable: true
});
Run Code Online (Sandbox Code Playgroud)

这真的很有道理.例如,可以扩展Array.

Array.defineProperty(Array.prototype, "remove", {
  set: function(){},
  get: function(){
    return removeArrayElement.bind(this);
  }
});
var arr = [0, 1, 2, 3, 4];
arr.remove(3);
Run Code Online (Sandbox Code Playgroud)

是否有任何反对扩展本机类型的论据?

javascript prototype prototypal-inheritance

121
推荐指数
7
解决办法
3万
查看次数

JavaScript:.extend和.prototype用于什么?

我是一个相对较新的JavaScript,并继续在我正在使用的第三方库中看到.extend和.prototype.我认为它与Prototype javascript库有关,但我开始认为情况并非如此.这些用于什么?

javascript prototype object-model

119
推荐指数
4
解决办法
13万
查看次数

方法与功能,以及其他问题

关于JS,这两者有什么区别?我知道方法与对象有关,但是混淆了函数的用途是什么?它们的语法有何不同?

另外,这两种语法之间的区别是什么:

var myFirstFunc = function(param) {
    //Do something
};
Run Code Online (Sandbox Code Playgroud)

function myFirstFunc(param) {
    //Do something
};
Run Code Online (Sandbox Code Playgroud)

另外,在使用函数之前,我在某处看到了我们需要做的事情:

obj.myFirstFunc = myFirstFunc;
obj.myFirstFunc("param");
Run Code Online (Sandbox Code Playgroud)

为什么需要第一行,它有什么作用?

对不起,如果这些是基本问题,但我开始使用JS而且很困惑.

编辑:对于最后一点代码,这就是我所说的:

// here we define our method using "this", before we even introduce bob
var setAge = function (newAge) {
  this.age = newAge;
};
// now we make bob
var bob = new Object();
bob.age = 30;
// and down here we just use the method we already made
bob.setAge = setAge;
Run Code Online (Sandbox Code Playgroud)

javascript methods function

34
推荐指数
4
解决办法
3万
查看次数

React:在哪里扩展对象原型

我使用create-react-app创建了一个纯React应用程序.我想扩展String该类并在一个或多个组件中使用它.例如:

String.prototype.someFunction = function () {
    //some code
}
Run Code Online (Sandbox Code Playgroud)

(您可能需要查看此问题以了解有关扩展对象原型的更多信息.)

是的我可以在组件旁边定义它并在其中使用它.但最好和最干净的方法是什么?

我应该把它写成一个class method或一个内部componentDidMount或其他东西?

编辑:

在React(或JavaScript)中扩展对象原型甚至是"OK"吗?

javascript prototype reactjs create-react-app

8
推荐指数
1
解决办法
6255
查看次数

如何在“。”之后调用函数,javascript

我有这个示例函数,我想以这种格式调用它:

const myfunc = (string) => {
   return string.length
}

console.log("check_length".myfunc())
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?预先感谢您的答复!

javascript

2
推荐指数
1
解决办法
48
查看次数