This is expected behavior.
JavaScript does not have function overloading, so when you define two
functions with the same name in the same scope, only the last one is
accessible.
The way to get a similar functionality is to test the number of actual
arguments:
--- script ---
function a(p1, p2) {
  if (arguments.length > 1) {
    globalVariable = "2 param called";
  } else {
    globalVariable = "1 param called";
  }
}
---------------
Fair warning: accessing the "arguments" object has a slight performance
overhead, so if you use it in a tight loop, you might want to just test
whether p2 is undefined instead:
  if (typeof p2 == "undefined") {  ...
This obviously doesn't work if the undefined value is a valid argument to
the two-argument variant of the function.
Best of luck
Lasse

On Thu, May 7, 2009 at 2:48 PM, slicker <[email protected]> wrote:

>
> Hi, I'm trying to embed v8 to my app and have encounter function
> overloading problem
>
> it goes like an example below
>
> ---------------------script-----------------------------
> function a(p1) {
>     globalVariable='1 param called';   //print globalVariable's
> setter value
> }
> function a(p1,p2) {
>     globalVariable='2 param called';
> }
>
> a('1');
> a('1','2');
> ---------------------------------------------------------
> ------------------------result------------------------
> globalVariable='2 param called'
> globalVariable='2 param called'
> --------------------------------------------------------
>
>
> when i run the above script, as u can see 'function a(p1,p2)' is
> always called
>
> That is, function overloading seems doesn't work but it works as
> function 'overwrite'(it always call the latter one with some tests)
>
> I'm wondering I am doing anything wrong because it works properly at
> Chrome but not my embedding application.
>
> Any comments would be helpful and thanked
>
> >
>


-- 
Lasse R.H. Nielsen
[email protected]
'Faith without judgement merely degrades the spirit divine'

--~--~---------~--~----~------------~-------~--~----~
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to