교체와 교체기
교체기 추론
1. 일반 함수
var func = function(){
console.log("func ");
return 123;
}
console.log(func()); // 123;
console.log(func); // func
2. 전참함수
var func = function(a){
console.log("func , :",a);
return 123;
}
console.log(func(1)); // 123;
3. for로 함수 순환 실행 시도
var func = function(a){
console.log("func , :",a);
return 123;
}
for(i=1;10;1){
var v = func(i);
console.log(v);
} //
4. for 순환을 변경: 교체
var func = function(a){
console.log("func , :",a);
return 123;
}
//v func , ,
for(v in func){ //func() () ,
console.log(v);
} // !
5. 첫 번째 실행 매개 변수 지정하기
var func = function(a){
console.log("owner:",owner)
console.log("func , :",a);
console.more(1);
return 123;
}
//1:owner ,2
for(v in func,1,2){ //onwer
console.log(v);
}
//
실행해 보면 첫 번째 수신 매개 변수는 2이고 두 번째 시작하는 매개 변수는 전func 함수 반환값 123입니다.
6. 순환을 끝내기 위해 교체기를null로 되돌려줍니다.
var func = function(a){
console.log("func , :",a);
a++;
if(a<=10){
return a;
}
else{
return null;
}
}
for(v in func,,1){ // () ,
console.log(v);
}
7. 함수 하나로func를 표시하고,
var iter = function(){
return func,,1;
}
for(v in iter()){ // (), !!!
console.log(v);
}
8. 함수 이름도 변수입니다. func를 iter에 넣습니다.
var iter = function(){
var func = function(a){
console.log("func , :",a);
a++;
if(a<=10){
return a;
}
else{
return null;
}
}
return func,,1;
}
for(v in iter()){
console.log(v);
}
9. iter는 함수로서 변수를 수신할 수 있습니다. 여기서 교체기 for 순환 횟수를 변수로 바꿉니다
var iter = function(len){
var func = function(a){
console.log("func , :",a);
a++;
if(a<=len){
return a;
}
else{
return null;
}
}
return func,,1;
}
for(v in iter(15)){
console.log(v);
}
10. 재최적화, 순환 초기값도 변수로 변경
var iter = function(i,len){
var func = function(a){ //a
console.log("func , :",a);
a++;
if(a<=len){
return a;
}
else{
return null;
}
}
return func,,i;
}
// ( )
for(v in iter(2,15)){
console.log(v);
}
총괄: 교체기는 업무와 논리적인 코드를 분리하여 코드 모듈화를 실현하고 코드 결합도를 낮춘다.
하나의 함수, 호출 함수는 함수 내부의 기능을 되돌려줍니다.함수의return은 되돌아오는 값으로 함수가 실행된 값이며 함수를 직접 출력하는 함수 대상 자체의 메모리 주소입니다.변수를 사용할 때 가능한 한 국부 변수를 사용한다. 국부 변수의 작용역이 제한되기 때문에 속도가 좀 빠르다.
교체:
함수 패키지 함수, 지난번에 이 함수를 실행한 반환값을 입력으로 합니다.즉, 지난번에 얻은 성과를 다음 집행의 매개 변수로 하거나 다음 집행의 원가로 삼는다.이것이 바로 순환적으로 값을 얻고 목표에 끊임없이 접근하는 작업이다.교체에 사용되는 함수를 교체기라고 한다.
교체기 안의 함수는 함수 자체이고 지난번에 실행한 결과는 다음 파라미터입니다. 그러면 처음 실행했을 때 파라미터는 무엇입니까?이 함수에 참고를 하려면 함수 뒤에서 쉼표로 구분하고 매개 변수마다 쉼표가 있어야 합니다.그러나 첫 번째 매개 변수는 내부 함수의 owner로 바깥의 교체기가 어떤 함수를 호출해야 하는지를 나타낸다.그래서 첫 번째 파라미터는 owner 파라미터입니다. 일반적으로 쓰지 않아도 됩니다.“func,,2,3”
한 번의 교체 과정에서func에서 리턴은null이고 교체를 멈춘다.제어 교체 매개 변수
교체기는 함수 간에 교환 코드 제어권을 전달하고 코드 논리를 분리하여 더욱 좋은 모듈화 코드를 편리하게 할 수 있다.
교체기의 생성기의 함수 이름은 일반적으로'each'로 시작한다. 예를 들어com.each()/table.eachName/process.each()/string.gmatch()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java 교체 서브 모드 상세 설명
외성 교체자: 백색 상자 집합(백색 상자 집합은 외부에 자신의 내부 원소 인터페이스를 방문하는 집합)에 적합하다.
교체의 논리는 집합 대상 자체가 제공하기 때문에 이런 외성 교체자 역할은 교체된 커서 위치만 유지한다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
var func = function(){
console.log("func ");
return 123;
}
console.log(func()); // 123;
console.log(func); // func
var func = function(a){
console.log("func , :",a);
return 123;
}
console.log(func(1)); // 123;
var func = function(a){
console.log("func , :",a);
return 123;
}
for(i=1;10;1){
var v = func(i);
console.log(v);
} //
var func = function(a){
console.log("func , :",a);
return 123;
}
//v func , ,
for(v in func){ //func() () ,
console.log(v);
} // !
var func = function(a){
console.log("owner:",owner)
console.log("func , :",a);
console.more(1);
return 123;
}
//1:owner ,2
for(v in func,1,2){ //onwer
console.log(v);
}
//
var func = function(a){
console.log("func , :",a);
a++;
if(a<=10){
return a;
}
else{
return null;
}
}
for(v in func,,1){ // () ,
console.log(v);
}
var iter = function(){
return func,,1;
}
for(v in iter()){ // (), !!!
console.log(v);
}
var iter = function(){
var func = function(a){
console.log("func , :",a);
a++;
if(a<=10){
return a;
}
else{
return null;
}
}
return func,,1;
}
for(v in iter()){
console.log(v);
}
var iter = function(len){
var func = function(a){
console.log("func , :",a);
a++;
if(a<=len){
return a;
}
else{
return null;
}
}
return func,,1;
}
for(v in iter(15)){
console.log(v);
}
var iter = function(i,len){
var func = function(a){ //a
console.log("func , :",a);
a++;
if(a<=len){
return a;
}
else{
return null;
}
}
return func,,i;
}
// ( )
for(v in iter(2,15)){
console.log(v);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java 교체 서브 모드 상세 설명외성 교체자: 백색 상자 집합(백색 상자 집합은 외부에 자신의 내부 원소 인터페이스를 방문하는 집합)에 적합하다. 교체의 논리는 집합 대상 자체가 제공하기 때문에 이런 외성 교체자 역할은 교체된 커서 위치만 유지한다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.