.function()和javascript中的函数(args)有什么区别?

what is the difference between .function() and a function(args) in javascript

本问题已经有最佳答案,请猛点这里访问。

我有一个问题,我总是用javascript编写函数来返回或设置其他元素的值,比如:

1
2
3
function test(x, y){
   return x*y;
}

像这样调用函数:

1
test(20, 50);

但在jquery之类的库中,您还可以看到这样的函数:

1
var test = something.test();

所以我的问题是,以下函数.test() or test()之间的区别是什么,或者它们是相同的,这是如何编写调用函数的另一种方法?

你怎么写一本书?

希望能学到一些新的东西,对不起,如果这有点随意,但我只是很好奇。


这是一个函数。称为function()

1
2
3
4
5
function test(a, b) {
  return a * b;
}

console.log(test(2,3));

这是一个对象的方法。它是在对象中声明的函数,称为object.function()

1
2
3
4
5
6
7
var myObject = {
  test: function (a, b) {
    return a * b;
  }
}

console.log(myObject.test(2,3));


在您的示例中,something.testsomething的属性,它恰好是一个函数。

另一方面,test()只是一个函数,可以在当前范围内访问。

下面是一个非常简单的例子:

1
2
3
4
5
6
7
8
9
10
11
12
const someObj = {
  test: function(){
     console.log('foo!');
  }
}

function test(){
   console.log('bar!');
}

someObj.test();
test();