JS 패키지, 타이머
setTimeout 0 이 무슨 소 용이 있 습 니까?
setTimeout 의 함 수 를 작업 대기 열의 끝 에 놓 고 다른 문장 이 모두 실 행 될 때 까지 기 다 렸 다가 바로 실행 합 니 다.
아래 코드 출력 은 얼마 입 니까?코드 를 수정 하여 i 를 출력 합 니 다.두 가지 이상 의 방법 을 사용 합 니 다 \ #
var fnArr = [];
for (var i = 0; i < 10; i ++) {
fnArr[i] = function(){
return i;
};
}
console.log( fnArr[3]() ); //10
방법 1
var fnArr = [];
for (var i = 0; i < 10; i ++) {
(function(val){
fnArr[i] = function(){
return val;
}
} )(i)
}
console.log( fnArr[3]() );//3
방법 2
var fnArr = [];
for (var i = 0; i < 10; i ++) {
fnArr[i] = (function(){
var val = i;
return function (){
return val;
}
})();
}
console.log( fnArr[3]() );
패 킷 을 사용 하여 자동차 대상 을 밀봉 하면 다음 과 같은 방식 으로 자동차 상 태 를 얻 을 수 있 습 니 다 \ # \ #
var Car = //todo;
Car.setSpeed(30);
Car.getSpeed(); //30
Car.accelerate();
Car.getSpeed(); //40;
Car.decelerate();
Car.decelerate();
Car.getSpeed(); //20
Car.getStatus(); // 'running';
Car.decelerate();
Car.decelerate();
Car.getStatus(); //'stop';
//Car.speed; //error
var Car = (function(){
var speed;
return{
setSpeed:function(val){
speed = val;
},
getSpeed:function(){
return speed;
},
accelerate:function(){
speed += 10;
},
decelerate:function(){
speed -= 10;
},
getStatus:function(){
if (speed === 0) {
return "stop";
}
else if (speed > 0) {
return "running";
}
}
}
}());
함 수 를 쓰 려 면 setTimeout 을 사용 하여 setInterval 의 기능 을 모 의 합 니 다 \ # \ #
function setInterval(val) {
setTimeout(function(){
//todo something;
setInterval(val);
},val)
}
함 수 를 써 서 setTimeout 의 최소 시간 입 도 를 계산 합 니 다 \ # \ #
function getTime() {
var timeStar = Date.now();
var i = 0;
var clock = setTimeout(function(me){
i++;
if(i === 1000) {
clearTimeout(clock);
var timeEnd = Date.now();
console.log((timeEnd-timeStar)/i);
}
clock = setTimeout(arguments.callee,0);
},0)
}
다음 코드 출력 결 과 는?왜?
var a = 1;
setTimeout(function(){
a = 2;
console.log(a);
}, 0);
var a ;
console.log(a);
a = 3;
console.log(a);
출력 결 과 는 1.32 입 니 다. setTimeout 0 의 함수 가 작업 대기 열 끝 에 있 기 때문에 다른 문장 이 모두 실 행 될 때 까지 기 다 렸 다가 바로 실 행 됩 니 다.
다음 코드 출력 결 과 는?왜?
var flag = true;
setTimeout(function(){
flag = false;
},0)
while(flag){}
console.log(flag);
출력 결과 없 음, while 계속 순환, 이유 동일
다음 코드 출력 은?delayer: 0, delayer: 1 을 어떻게 출력 합 니까?
for(var i=0;i<5;i++){
(function(){
var n = i ;
setTimeout(function(){
console.log('delayer:' + n );
}, 0);
})();
console.log(i);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.