三、流程控制:
1、单行语句
var age =20;//单行语句
2、复合语句
花括号包含起来的与聚集和叫做复合语句,一对花括号表示一个复合语句
,处理时可以当成一个单行语句来看待,一般复合句与叫做代码块。
{
var height:200px;
var width:200px;
}
3、空语句也是一条语句
4、条件语句
if里面的括号(box>50)返回的结果转换为布尔值是true的时候,则执
行后面的一条语句,否则不执行
var box=100;
if(box>50)alert(box);
var box=100;
if(box>50)//if语句里的表达式如果返回的false,只会不执行后面的一条
语句。第二条语句与if语句无关,所以会执行
alert(box);
alert('不管if是true还是false我都要执行');
var box=10;
if(box>50){//这里是复合语句被当做单行语句来对待,当条件不满足时
,都不执行,
alert(box);
alert('不管if是true还是false我都要执行');
}
var box=100;
if(box>50)//if语句中的返回值就是boolean类型,当返回值是true时返
回100,false时不返回;
if(123)//括号内换成123时返回值是100,说明是true
if(0)//没有返回值,说明是false
if("Ms.Wang")//返回值是100,说明是true
alert(box);
四、循环
1、do while循环:先运行再判断的循环体;当while判断为false时退出
循环,当判断为true时执行循环,如果条件不满足时至少会执行一次。循
环条件要注意正确性,否则会陷入死循环。
var box =1;
do{
alert(box);//依次输出1、2、3、4、5
box++;
}while(box<=5);
2、while语句:先判断再执行:条件不满足一次也不会执行
var box=1;
while(box<=5){
alert(box);
box++;
}
3、for循环:先判断再执行循环体,如果结果是true则执行,若结果为
false则退出循环体。
for(var box=1;box<=5;box++){
alert(box);
}
4、for in 语句 针对对象获取属性值时用
var box={
'name':'Linda',
'age':20,
'address':'云南'
}
for (var x in box){
alert(p);
}
5、continue和break语句
for(var box =1;box<=10;box++){
if(box==5)break;//只会执行打印出1-4,即退出循环体了
document.write(box+'<br/>');
}
for(var box =1;box<=10;box++){
if(box==5)continue;//5不会打印出来,而只是退出了当前循环体
document.write(box+'<br/>');
}
6、with语句:将代码的作用域设置到一个特定对象中去
var box={
'name':'Linda',
'age':20,
'heighr':165
}
with(box){
var n=name;
var a=age;
var h=height;
}
alert(n+a+h);
五、函数
//函数本身没有执行功能
声明函数
function box(){
alert("我只有被调用才能执行");
}
function box(name,age){
alert("你的姓名是:"+name+",年龄是:"+age);
}
box("linda",29);//调用函数
返回值类函数实例1:
function box(){
return"我只有被调用了才能执行!";//return表示把这句话字符串返
回回来
}
//打印出函数调用后返回回来的结果,否则看不出来效果,虽然已经调用
了函数,但是看不出来效果
alert(box());//相当于box()="我只只有被调用了才能执
行".
注:使用返回值类的函数情况较多,直接调用函数的情况较少
返回值类函数实例2:
function box(){//也就是说当一个函数遇到第一个return时就会终止
函数继续往下执行
return 10;
return 100;
}
alert(box());//结果是10,也就是说当一个函数遇到第一个return时就
会终止函数继续往下执行函数
返回值类函数实例3: arguments(不介意传递进来的参数是多少,根据索
引值获取即可)
function box(){
return arguments[0]+'|'+arguments[1]+'|'+arguments[2];
}
alert(box('小夏','营销',20));//函数并没有设置参数,但是一样可以
返回想要的值
4:获取参数数量:length属性智能获取参数个数。动态获取所需参数
function box(){
var sum =0;
for(var i =0;i<arguments.length;i++){
sum+=arguments[i];//动态获取参数个数和具体的数值,实现求和 arguments
}
return arguments.length;
}
alert(box(1,2,3,4,5,6,7,8,9,10));
重载:即根据参数,选择相同函数名而参数不同的函数,但是js没有重载
功能,是根据顺序来的
function box(num,a){
return num+100;
}
function box(num){
return num+200;
}
alert(box(3,3));//结果是203;若是把两个box函数调换顺序,则结果是
103,所以执行的函数是距离调用函数较近的函数,而不是说哪个函数的参
数与调用函数传递的参数个数一致就调用哪个函数,
六、对象和数组
对象包含那些元素:属性(字段)、方法(函数)
1、字面量方式创建方法
var box={//box是一个对象
name:'linda',
age:20
};
alert(box.name);//属性方式输出,
alert(box['name']);//数组方式输出,必须加上引号,否则无法输出。
2、构造函数方法创建对象并调用函数
function objrun(){
return "123";
}
var box = new Object();
box.name='Linda';
box.age=20;
box.run=objrun();
alert(box.run);//输出123
box.run=objrun;
alert(box.run());//输出123
总结:对象=函数,所以调用和输出时必须有且只有一个括号否则就不能正
确输出
3、字面量方法创建对象并调用函数
var box={
name:'linda',
age:20,
run:function(){//匿名函数
return '123';
}
};
alert(box.run()); //调用函数或者方法,如果没有圆括号会打印源代
码,如果有圆括号才会打印返回值
alert(box.name);
delete box.name;//删除属性,返回值是undefined
alert(box.name);
function box(obj){
if(obj.name!=undefined)alert(obj.name);
if(obj.age!=undefined)alert(obj.age);
if(obj.love!=undefined)alert(obj.age);//这里没有love属性,所
以会返回undefined,所以返回之前先做一下判断较好
}
var obj={//对象封装属性,也叫做命名对象
name:'Linda',
age:20,
address:'云南'
};
box(obj);//调用