è¿´åæä¾ä¸åå¿«éåç°¡æ½çæ¹æ³ä¾éè¤å°åæä»¶äºãéåç« ç¯çJavaScript æå¸æä»ç´¹å¨ JavaScript å¯ä»¥ä½¿ç¨ç幾種ä¸åçè¿ä»£é³è¿°å¼ã
ä½ å¯ä»¥å°è¿´åæ³æä¸åé»è ¦çæ¬ç"å¾ä¸åæ¹åèµ° X æ¥ï¼ç¶å¾å¾å¦ä¸åæ¹åèµ° Y æ¥"çéæ²ï¼ä½çºç¯ä¾ï¼"徿±èµ°äºæ¥"å¯ä»¥ç¨éåæ¹æ³ç¨è¿´å表示ï¼
var step;
for (step = 0; step < 5; step++) {
// å·è¡äºæ¬¡ï¼å¾stepçº0å°4
console.log("Walking east one step");
}
æå¾å¤ç¨®ä¸å種é¡çè¿´åï¼ ä¸éä»åæ¬è³ªä¸é½æ¯å䏿¨£çäºï¼æä¸ä»¶åä½éè¤å°åä¸å®ç次æ¸ï¼èä¸ä¹æå¯è½å 0 次ï¼ã åå¼å樣çè¿´åæ©å¶æä¾äºä¸åçæ¹æ³ä¾å®ç¾©è©²è¿´åçèµ·å§èçµæãæäºä¸åçæ æ³ä¸ä½¿ç¨å ¶ä¸ä¸ç¨®è¿´åææ¯ä½¿ç¨å¥ç¨®å®¹æè¨±å¤ã
å¨ javaScript 䏿ä¾çè¿´åé³è¿°å¼åå¥çºï¼
for
é³è¿°å¼
ä¸åfor è¿´å䏿·éè¤ç´å°ä¸åæå®çæ¢ä»¶å¼å¤æ·çº falseãJavaScript ç for è¿´åè· Java éæ C ç for è¿´åå¾ç¸ä¼¼ãä¸å for é³è¿°å¼çèµ·ä¾åä¸é¢é樣ï¼
for ([åå§è¡¨éå¼]; [æ¢ä»¶å¼]; [éå¢è¡¨éå¼]) é³è¿°å¼
ç¶å·è¡ä¸å for è¿´åæï¼æç¼ç以ä¸ï¼
{ ... }
) 便é£äºæäºå¼æ¸çºä¸çµã以ä¸çå½å¼å
å«ä¸åç¨ä¾æ¸å¨ä¸å滾åå表ä¸è¢«é¸éçé¸é
(a <select>
å
è¨±è¤æ¸é¸é
çå
ç´ )ç for é³è¿°å¼ ãéå for æäºå¼å®£åäºè®æ¸ i 並å°å
¶åå§åçº 0ã 仿ª¢æ¥ i ï¼å¦æ i å°æ¼å¨<select>å
ç´ ä¸çé¸é
æ¸éï¼é²è¡æ¥èç if é³è¿°å¼ï¼ä¸¦å° i 卿¯æ¬¡ééè¿´åå¾éå¢ã
<form name="selectForm">
<p>
<label for="musicTypes"
>Choose some music types, then click the button below:</label
>
<select id="musicTypes" name="musicTypes" multiple="multiple">
<option selected="selected">R&B</option>
<option>Jazz</option>
<option>Blues</option>
<option>New Age</option>
<option>Classical</option>
<option>Opera</option>
</select>
</p>
<p><input id="btn" type="button" value="How many are selected?" /></p>
</form>
<script>
function howMany(selectObject) {
var numberSelected = 0;
for (var i = 0; i < selectObject.options.length; i++) {
if (selectObject.options[i].selected) {
numberSelected++;
}
}
return numberSelected;
}
var btn = document.getElementById("btn");
btn.addEventListener("click", function () {
alert(
"Number of options selected: " + howMany(document.selectForm.musicTypes),
);
});
</script>
do...while
é³è¿°å¼
do...while
é³è¿°å¼æä¸æ·éè¤ç´å°ä¸åç¹å®çæ¢ä»¶å¤æ·çº falseãä¸å do...while é³è¿°å¼çèµ·ä¾å以ä¸ï¼
do é³è¿°å¼ while (æ¢ä»¶å¼);
é³è¿°å¼æå¨æª¢æ¥æ¢ä»¶å¼ä»¥åå
å·è¡ä¸æ¬¡ãè¦å·è¡å¤åé³è¿°å¼ç話ï¼ä½¿ç¨åå¡é³è¿°å¼ä¾å°é£äºé³è¿°å¼æ¸çºä¸çµã妿æ¢ä»¶å¼çºtrueï¼é£é³è¿°å¼ä¾¿å次å·è¡ã卿¯æ¬¡å·è¡çæå¾ï¼æ¢ä»¶æè¢«æª¢æ¥ãç¶æ¢ä»¶å¼çºfalseæï¼
忢å·è¡ä¸¦ææ§å¶å³çµ¦ do...whileæ¥èçé³è¿°å¼ã
å¨ä¸åç¯ä¾ä¸ï¼do è¿´åéè¤äºè³å°ä¸æ¬¡ä¸¦ä¸æ·éè¤ç´å° i ä¸åæ¯ 5 å°ã
var i = 0;
do {
i += 1;
console.log(i);
} while (i < 5);
while
é³è¿°å¼
while
é³è¿°å¼æä¸æ·å·è¡å®çé³è¿°å¼åªè¦æå®çæ¢ä»¶å¼å¤æ·çº trueãä¸å while é³è¿°å¼çèµ·ä¾å¦ä¸ï¼
while (condition) statement
妿æ¢ä»¶å¼è®æ false ï¼å¨è¿´åä¸çé³è¿°å¼æåæ¢å·è¡ä¸¦æ§å¶äº¤çµ¦è·å¨éåè¿´åå¾é¢çé³è¿°å¼ã
æ¢ä»¶å¼ç測試ç¼çæ¼è¿´åå §çé³è¿°å¼å·è¡ä¹åã妿æ¢ä»¶å¼å³å true ï¼é³è¿°å¼ä¾¿æè¢«å·è¡è夿·å¼æåè¢«æ¸¬è©¦ä¸æ¬¡ã妿æ¢ä»¶å¼å³å false ï¼åæ¢å·è¡ä¸¦ææ§å¶äº¤çµ¦è·å¨ while è¿´åå¾é¢çé³è¿°å¼ã
è¦å·è¡å¤åé³è¿°å¼ç話ï¼ä½¿ç¨åå¡é³è¿°å¼ä¾å°é£äºé³è¿°å¼æ¸çºä¸çµã
以ä¸ç while è¿´åå¨åªè¦ n æ¯ 3 å°çæ æ³ä¸ä¾¿æä¸æ·éè¤ï¼
var n = 0;
var x = 0;
while (n < 3) {
n++;
x += n;
}
卿¯æ¬¡çç代ï¼è¿´åæ n éå¢ä¸¦å°å ¶å¼å å° x ä¸ãå æ¤ï¼x è· n ç弿æ¯ä¸åæ æ³ï¼
n
= 1 è x
= 1n
= 2 è x
= 3n
= 3 è x
= 6å¨å®æç¬¬ä¸æ¬¡è¿´åå¾ï¼å¤æ·æ¯ n<3 ä¸åæ¯ true ï¼æä»¥è¿´åçµæ¢ã
ç¯ä¾ 2é¿å ç¡éè¿´åã確å®å¨è¿´åå §ç夿·å¼çµç©¶æè®æ falseï¼ ä¸ç¶è¿´åææ°¸é ä¸çµæ¢ãå¨è¿´åå §çé³è¿°å¼ææ°¸é çå·è¡å çºå¤æ·å¼æ°¸é ä¸æè®æ falseï¼
while (true) {
console.log("Hello, world");
}
label
é³è¿°å¼
label æä¾ä¸åæèå¥åçé³è¿°å¼è®ä½ è½å¨ç¨å¼çå¥çå°æ¹åèãèåä¾åï¼ä½ è½ä½¿ç¨ label ä¾èå¥ä¸åè¿´åï¼ç¶å¾ä½¿ç¨ break æ continue é³è¿°å¼ä¾æç¤ºä½æç¨å¼è©²ä¸æ·è¿´åææ¯ç¹¼çºä»çå·è¡ã
label é³è¿°å¼çèªæ³çèµ·ä¾å¦ä¸ï¼
label : statement
Label çå¼å¯ä»¥æ¯ä»»ä½ä¸æ¯ä¿çåç JavaScript èå¥åãä½ ç¨ label æèå¥çé³è¿°å¼å¯ä»¥æ¯ä»»ä½é³è¿°å¼ã
ç¯ä¾å¨éåç¯ä¾ï¼markLoopéålabel èå¥ä¸åwhile è¿´åã
markLoop: while (theMark == true) {
doSomething();
}
break
é³è¿°å¼
break
é³è¿°å¼æ¯ç¨ä¾çµæ¢ä¸åè¿´åï¼ä¸å switch å¤éæ§å¶é¸é
ï¼ææ¯åä¸å label é³è¿°å¼è¯å使ç¨ã
break é³è¿°å¼çèªæ³çèµ·ä¾å¦ä¸ï¼
break;
break label;
第ä¸ç¨®èªæ³æçµæ¢æå §é¨çè¿´åæ switch åéï¼ç¬¬äºç¨®èªæ³æçµæ¢é£åç¹å®ç label é³è¿°å¼ã
ç¯ä¾ 1以ä¸çç¯ä¾æä¸æ·éè¤è·è¿´åç´å°æå¨é£å裡çå ç´ ç¬¦å theValue çå¼ï¼
for (var i = 0; i < a.length; i++) {
if (a[i] == theValue) {
break;
}
}
ç¯ä¾ 2ï¼Break è³ä¸å label é³è¿°å¼
var x = 0;
var z = 0;
labelCancelLoops: while (true) {
console.log("Outer loops: " + x);
x += 1;
z = 1;
while (true) {
console.log("Inner loops: " + z);
z += 1;
if (z === 10 && x === 10) {
break labelCancelLoops;
} else if (z === 10) {
break;
}
}
}
continue
é³è¿°å¼
continue
é³è¿°å¼å¯ä»¥ç¨æ¼éæ°éå§ä¸å while , do-while, for, æ label é³è¿°å¼ã
continue é³è¿°å¼çèªæ³çèµ·ä¾å¦ä¸ï¼
continue;
continue
label;
以ä¸çç¯ä¾æ while è¿´å以åä¸åå¨ i çå¼çº 3 çæåå·è¡ç continue é³è¿°å¼ãå æ¤ï¼n ç弿é£èæ¯ 1, 3, 7, 12ã
var i = 0;
var n = 0;
while (i < 5) {
i++;
if (i == 3) {
continue;
}
n += i;
}
ç¯ä¾ 2
ä¸å被 label æ checkiandj çé³è¿°å¼å éèä¸å被 label æ checkj çé³è¿°å¼ã妿éå°äº continueï¼ç¨å¼æçµæ¢ç¾å¨çé輪迴å並éå§ä¸ä¸è¼ªãæ¯æ¬¡éå° continueï¼checkj å°±æä¸ç´éè¤ç´å°å®çæ¢ä»¶å¼è¿å falseãç¶ false 被å³åæï¼checkiandj é³è¿°å¼å©ä¸çé³è¿°å¼å·²è¢«å®æï¼è checkiandj ä¹æç¹¼çºéè¤ç´å°å®çæ¢ä»¶å¼å³å falseãç¶ false 被å³åï¼ç¨å¼æç¹¼çºé²è¡æ¥è checkiandj å¾é¢çé³è¿°å¼ã
妿 continue æäº checkiandj ç label ç¨å¼æå¾ checkiandj é³è¿°å¼çé éå§ç¹¼çºã
checkiandj: while (i < 4) {
console.log(i);
i += 1;
checkj: while (j > 4) {
console.log(j);
j -= 1;
if (j % 2 == 0) {
continue checkj;
}
console.log(j + " is odd.");
}
console.log("i = " + i);
console.log("j = " + j);
}
for...in
é³è¿°å¼
for...in
é³è¿°å¼éè¤ä¸åæå®çè®æ¸ä¾å¾ªç°ä¸åç©ä»¶ææå¯æèç屬æ§ãè³æ¼æ¯åç¨ç¹ç屬æ§ï¼JavaScript å·è¡ç¹å®çé³è¿°å¼ãä¸åfor...in
é³è¿°å¼çèµ·ä¾å以ä¸ï¼
for (variable in object) { statements }ç¯ä¾
以ä¸çå½å¼ééå®ç忏å¾å°ä¸åç©ä»¶åç©ä»¶çååãæ¥èå®å¾ªç°éåç©ä»¶çææå±¬æ§ä¸¦å³åä¸åååºå±¬æ§ååå¼çå串ã
function dump_props(obj, obj_name) {
var result = "";
for (var i in obj) {
result += obj_name + "." + i + " = " + obj[i] + "<br>";
}
result += "<hr>";
return result;
}
å°æ¼ä¸åææ make è· model 屬æ§çç©ä»¶ car ä¾èªªï¼å·è¡çµææ¯ï¼
car.make = Ford;
car.model = Mustang;
é£å
éç¶ç¨ for...in ä¾è¿ä»£ Array
å
ç´ å¾å¸å¼äººï¼ä½æ¯å®å³åçé¤äºæ¸åçç´¢å¼ä¹å¤éæå¯è½æ¯ä½ èªå·±å®ç屬æ§åãå æ¤éæ¯ç¨å¸¶ææ¸åç´¢å¼çå³çµ±forè¿´åä¾è¿å¸¶ä¸åé£åææ¯è¼å¥½ãå çºå¦æä½ æ³æ¹è®é£åç©ä»¶ï¼æ¯å¦å¢å å±¬æ§ææ¯æ¹æ³ï¼
for...in é³è¿°å¼è¿ä»£çæ¯èªå®ç屬æ§è䏿¯é£åçå
ç´ ã
for...of
é³è¿°å¼
for...of
é³è¿°å¼å¨iterable objects(å¯è¿ä»£çç©ä»¶)ä¸å»ºç«äºä¸åå¾ªç° (å
å« Array
, Map
, Set
, arguments(忏) ç©ä»¶ çç), å°æ¯åç¨ç¹å±¬æ§çå¼ä½¿ç¨ä¸åæºå被å·è¡çæé³è¿°å¼çèªè¨è¿ä»£æå¾ã
for (variable of object) { statement }
ä¸åçç¯ä¾å¯çåºfor...of
è¿´åè· for...in
è¿´åçå·®å¥ã for...in
å¨å±¬æ§åå循ç°ï¼èfor...of
å¨å±¬æ§çå¼å¾ªç°ã
let arr = [3, 5, 7];
arr.foo = "hello";
for (let i in arr) {
console.log(i); // logs "0", "1", "2", "foo"
}
for (let i of arr) {
console.log(i); // logs 3, 5, 7
}
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4