클로즈업 지식 포인트 총결산
문답
코드
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(n){
fnArr[i] = function(){
return n;
};
})(i);
console.log( fnArr[3]() );
방법 2
var fnArr = []
for (var i = 0; i < 10; i++) {
(function() {
var n = i
fnArr[n] = function() {
return n } }())}
console.log(fnArr[3]())
var Car = (function() {
var speed = 0;
function accelerate() {
speed += 10;
}
function decelerate() {
speed -= 10;
}
function getSpeed() {
console.log(speed);
return speed;
}
function getStatus() {
if (speed > 0) {
console.log('running');
}else {
console.log('stop');
}
}
function setSpeed(i) {
speed = i;
}
return {
accelerate: accelerate,
decelerate: decelerate,
getSpeed: getSpeed,
getStatus: getStatus,
setSpeed: setSpeed
};
}());
var i = 0
function intv() {
setTimeout(function() {
console.log(i++)
intv()
}, 1000)
}
function getmin(){
var i = 0;
var start = Date.now();
var clock = setTimeout(function(){
i++;
if(i === 1000){
clearTimeout(clock)
var end = Date.now();
console.log((end-start)/i);
}
clock = setTimeout(arguments.callee,0)
},0)
}
getmin()
다음 코드의 출력 결과는?왜?
var a = 1;
setTimeout(function(){
a = 2;
console.log(a);
}, 0);
var a ;
console.log(a);
a = 3;
console.log(a);
답: 출력 결과는 1, 3, 2.setTimeout(, 0) 때문에 내용을 실행 대열의 마지막에 놓고 다른 실행이 끝난 후에 바로 실행합니다.
* 다음 코드 출력 결과는?왜?
var flag = true;
setTimeout(function(){
flag = false;
},0);
while(flag){}
console.log(flag);
A:출력이 없습니다.setTimeout은 다른 코드를 실행한 후에 실행하기 때문에 첫 번째 문장을 실행한 후에 아래의while 순환에 도달하고 flag은true이며, 죽은 순환을 위해 빈 문장을 실행하고, 출력이 없습니다.
*다음 코드 출력은?delayer: 0, delayer:1을 출력하는 방법:...(클로즈업으로 구현)
for(var i=0;i<5;i++){
setTimeout(function(){
console.log('delayer:' + i );
}, 0);
console.log(i);
}
답: 출력은 0, 1, 2, 3, 4,delayer:5(5회)입니다.
for (var i = 0; i < 5; i++) {
setTimeout((function(num) {
return function() {
return console.log('delayer: ' + num) }
}(i)),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에 따라 라이센스가 부여됩니다.