2014-05-17 2 views
0

자바 스크립트에서 동일한 페이지에 같은 이름의 두 함수를 삽입 할 수 있는지 물어보고 싶습니다. 이제같은 페이지 안에 같은 이름의 두 함수가 있습니다

function sayHello(){ 
alert("Hello World") 
} 

의이 같은 사용자가 다른 스크립트를 추가하고 싶다고 가정 해 봅시다,하지만 경고를 변경 :

예를 들어, 내가 스크립트 사람이 자신의 웹 사이트에서 사용할 수있는 상자에 포장 한,이 스크립트는 포함 messagge이므로 결국 다음과 같이됩니다.

function sayHello(){ 
alert("Hello World"); 
} 

function sayHello(){ 
alert("How are you?"); 
} 

스크립트는 "How are you"을 반환합니다.

그래서 자바 스크립트가 동일한 이름의 두 함수를 실행하게하는 또 다른 방법이 있습니까? 그렇지 않은 경우 최종 사용자가 함수 이름을 수동으로 변경하지 않아도되는 문제를 해결할 수 있습니까?

+0

당신이 두 기능, 아니면 그냥 두 번째를 원하십니까? – Teepeemm

답변

2

수정 프로그램은 함께 두 물체를 넣어하는 것입니다 : 당신이이 일의 프로그래밍 방법이 필요하면

function sayHello(){ 
alert("Hello World"); 
alert("How are you?"); 
} 

는, 배열을 사용합니다. 간단한 :

var messages = ["Hello World", "How are you?"]; 
function sayHello(){ 
for (var i=0; i<messages.length; i++) 
    alert(messages[i]); 
} 

단지 :

var functions = [ 
// function expressions even can use the same name (which is local) 
// without overwriting each other 
function sayHello(){ 
    alert("Hello World"); 
}, 
function sayHello(){ 
    alert("How are you?"); 
} 
]; 
function sayHello(){ 
for (var i=0; i<functions.length; i++) 
    functions[i].call(); 
} 
+0

귀하의 종합적인 답변에 감사드립니다! 당신의 코드를 살펴 보겠습니다. – luaLover

관련 문제