title: Do method calls of javascript and python have the same structure?
body: <p>I am a novice programmer. I noticed a similarity between python method calls and JavaScript f.call() function. I am curious if my observation is correct. </p>
  
  <p>Let me present you what I know.</p>
  
  <h2>Python Part</h2>
  
  <p>In python we declare methods as such:</p>
  
  <pre class="lang-py prettyprint-override"><code>class Frog:
     def jump(self, distance):
       print("I am jumping the distance %d" % distance)
  </code></pre>
  
  <p>To run method one can do:</p>
  
  <pre class="lang-py prettyprint-override"><code>green = Frog()
  green.jump(5)    # "I am jumping the distance 5"
  </code></pre>
  
  <p>But the same result can be achieved with:</p>
  
  <pre class="lang-py prettyprint-override"><code>Frog.jump(green, 5) # "I am jumping the distance 5"
  </code></pre>
  
  <p>This, to me, means that every method must be defined with the object of interest placed in the first parameter. </p>
  
  <h2>JavaScript Part</h2>
  
  <p>Today I was surfing MDN and read <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this#Function_context" rel="nofollow noreferrer">this article about <em>this</em> keyword</a> and <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call#Syntax" rel="nofollow noreferrer">this article about <em>.call()</em> method</a>.</p>
  
  <p>This is what I saw:</p>
  
  <pre><code>function add(c, d) {
    return this.a + this.b + c + d;
  }
  
  var o = {a: 1, b: 3};
  
  // The first parameter is the object to use as
  // 'this', subsequent parameters are passed as 
  // arguments in the function call
  add.call(o, 5, 7); // 16
  </code></pre>
  
  <p>Do you see how .call(object_of_interest, arg1, arg2, ...) structure in JavaScript is similar to jump(self, arg1, arg2, ...)? That flashed a light in my mind but I didn't feel very confident about my observation. Was that right? What was the relationship?</p>
  
  <h2>Question (Edited on Sanyash)</h2>
  
  <p>I feel like seeing a cloudy relationship between classes, static or non static methods, how javascript interprets these and how python interprets these. But I couldn't make everything sit on a solid foot. So,</p>
  
  <p>What is the connection I need to understand between these two languages or deduction I have to do on object oriented programming?  Anything taught new to me is really appreciated. </p>