您的位置:首页 > Web前端 > JavaScript

javascript语句基础知识学习【javascript高级程序设计】

2011-10-23 00:51 573 查看
基本的判断、循环... .. 语句是最基础的东西,前几天晚上参考《javascript高级程序设计》敲了下代码,看了看效果,这样才会对这些基本的东西理解更加深刻!

1、if语句

语法:

//if(condition) statement1 else statement2

示例:

var i=26;
if(i>25){//encodeURIComponent()
alert(('greater than 25.'));
}else if(i<0){
alert('less than 0.');
}else{
alert('between 0 and 25,inclusive');
}
结果:
greater than 25.


2、do-while语句
语法:

/*
do{
statement
}while(expression)
*/

示例:
var i=0;
do{
i+=2;
alert(i);
}while(i<10)
alert(i);
结果:
依次弹出2、4、6、8、10


3、while语句

语法:

//while(expression) statement

示例:

var i=0;
while(i<10){
i+=2;
}
alert(i);

结果:

10


4、for语句

示例:
/* test 1
var count=10;
for(var i=0;i<count;i++){
alert(i);
}
*/
var count=10;
var i=0;
for(;i<count;){
alert(i);
i++;
}


5、for-in语句

语法:

//js中的迭代
//for(var propName in expression) statement

示例:

//遍历出window对象的所有属性
for(var propName in window){
document.write(propName);
document.write('<br/>');
}


结果:
getInterface
window
propName
document
netscape
XPCSafeJSObjectWrapper
XPCNativeWrapper
Components
sessionStorage
globalStorage
getComputedStyle
dispatchEvent
removeEventListener
name
parent
top
dump
getSelection
scrollByLines
scrollbars
scrollX
scrollY
scrollTo
scrollBy
scrollByPages
sizeToContent
setTimeout
setInterval
clearTimeout
clearInterval
setResizable
captureEvents
releaseEvents
routeEvent
enableExternalCapture
disableExternalCapture
open
openDialog
frames
applicationCache
self
navigator
screen
history
content
menubar
toolbar
locationbar
personalbar
statusbar
directories
closed
crypto
pkcs11
controllers
opener
status
defaultStatus
location
innerWidth
innerHeight
outerWidth
outerHeight
screenX
screenY
mozInnerScreenX
mozInnerScreenY
pageXOffset
pageYOffset
scrollMaxX
scrollMaxY
length
fullScreen
alert
confirm
prompt
focus
blur
back
forward
home
stop
print
moveTo
moveBy
resizeTo
resizeBy
scroll
close
updateCommands
find
atob
btoa
frameElement
showModalDialog
postMessage
addEventListener
localStorage


6、label标签
语法:

//label:statement

示例:

start:for(var i=0;i<10;i++ ){
alert(i);
}

结果:

依次弹出1、2、3、4、5、6、7、8、9

7、continue&break语句

示例:

// break 和 continue语句用于在循环语句中精确控制代码的执行

//test break
/*
var num=0;
for(var i=1;i<10;i++){
if(i%5==0){
break;
}
num++
}
alert(num);
*/

//test continue
/*
var num=0;
for(var i=1;i<10;i++){
if(i%5==0){
continue;
}
num++;
}
alert(num);
*/

//test label&break
/*
var num=0;
outermost:
for(var i=0;i<10;i++){
for(var j=0;j<10;j++){
if(i==5&j==5){
break outermost;
}
num++;
}
}
alert(num);
*/

//test label&continue
var num=0;
outermost:
for(var i=0;i<10;i++){
for(var j=0;j<10;j++){
if(i==5&j==5){
continue outermost;
}
num++;
}
}
alert(num);


7、with语句
/*
with语句
作用:将代码的作用于设定到一个特定的作用域中
with(expression) statement
*/

var qs=location.search.substring(1);
var hostName = location.hostname;
var url = location.href;
document.write(qs);
document.write("<br\>");
document.write(hostName);
document.write("<br\>");
document.write(url);
document.write("<br\>");

document.write(qs+' '+hostName+' '+url);
document.write("<br\>");
with(location){
var qs=search.substring(1);
var hostName = hostname;
var url=href;
document.write(qs+' '+hostName+' '+url);
}


8、switch语句
/*
switch(expression){
case value:statement
break;
case value:statement
break;
case value:statement
break;
case value:statement
default:statement
}
*/

/*
如果表达式等于这个value值,则执行后面的语句块
break作用:语句跳出当前case执行的语句块。如果没有break,那么会在执行完当前case后,继续执行下一个case
default:此关键字用于表达式不匹配前面任何一种情形的时候,机动执行代码(相当于一个else语句)
从根本上讲switch语句是为了开发人员免于编写如下面这样的代码
*/

/*
var i=25;
if(i==25){
alert(25);
}else if(i==35){
alert(35);
}else if(45){
alert(45);
}else{
alert('other');
}
*/

/*
var i=25;
switch(i){
case 25:
alert(25);
break;
case 35:
alert(35);
break;
case 45:
alert(45);
break;
default:
alert("other");
}
*/
//每个case后添加一个break语句,可以避免同时执行多个case代码的情况。
//恩格斯:在战争中,尤其是在革命战争中,在没有获得任何决定性的胜利之前,迅速行动是一个基本规则。
/*
var i=55;
switch(i){
case 25:
//合并两种情形
case 35:
alert('25 or 35');
break;
case 45:
alert(45);
break;
default:
alert("恩格斯:在战争中,尤其是在革命战争中,在没有获得任何决定性的胜利之前,迅速行动是一个基本规则。");
}
*/

/*ECMAScript 中switch语句借鉴其他语言,但这个语句也有自己的特色。
首先,在switch语句中使用任何数据类型(在很多语言中只能使用数值),无论是字符串,还是对象变量都没有问题。
其次,每个case值不一定是常量,可以是变量,甚至是表达式。
*/

/*
switch("hello world"){
case "hello"+"world":
alert("greeting was found.");
break;
case "goodbye":
alert('closing was found.');
break;
default:
alert('unexcepted message was found.');
}
*/

//使用表达式做case值
var num=25;
switch(true){
case num<0:
alert("less than 0.");
break;
case num>=0&&num<=10:
alert("between 0 and 10.");
break;
case num>10 && num<=20:
alert('between 11 and 20.');
break;
default:
alert("more than 20.");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: