Head First HTML5 Programming—每天一小步-(二)

Javascript函数和对象
bark("Fido",50);

function bark(darkName,dogWeight){
  if(dogWeight<=10){
     return dogName + "says Yip";
  }else{
     return dogName +"says Woof";
  }
}

定义函数时指定形参,调用函数时提供实参。


形参就是一个新变量,却不需要用var修饰。由于函数会为你完成实例化变量的全部工作,所以不需要再行参数名前面加var
向函数传递一个变量,如果在函数中改变了相应形参的值,不会改变原来的变量。传递一个基本类型值时,她会赋值到形参,这种传递是值传。(按值传递)
所以,如果在函数体中改变了形参的值,对于原来的实参没有任何影响,不过传递数组或对象是个例外。

如果一个函数没有return语句,这样的函数会返回undefined。

全局变量:变量在函数外声明
局部变量:变声明量在函数内部


create subject

var fido={
    name:"Fido",
    weigh:40,
    breed:"Mixed",
    loves:["walks","fetching balls"]
};
使用点记法访问对象属性
if(fido.weight>25){
   alert("WOOF");
}else{
   alert("yip");
}
使用一个串结合[]记法访问属性:
var breed=fido["breed"];
if (breed=="mixed"){
   alert("Best in show");
}
改变属性的值
fido.weight=27;
fido.bread="ChawaLLa";
fido.love.push("chewing bones");
枚举对象的所以属性
var prop
for (prop in fido){
  alert("Fido has a "+prop+"property");
  if(prop=="name"){
   alert("This is "+fido[prop]);
  }
}
处理对象数组
var likes=fido.loves;
var likesString="Fido likes";
for(var i=0;i<likes.length;i++){
   likesString +=" "+likes[i];
}
alert(likesString);
向函数传入一个对象
function bark(dog){
  if(dog.weight>25){
     alert("WOOF");
  }else{
     alert("yip");
  }
}
bark(fido);


window.οnlοad=init();如果函数名后面使用小括号,表示希望调用函数init
window.οnlοad=init; 如果只是使用名而没有小括号,就会把这个函数赋值给onload


要创建一个函数,要使用function关键字,如果有参数,还要加上小括号来包含参数
函数可以是命名函数,也可以是匿名的,函数的命名规则与变量名规则相同
函数可以使用return语句返回一个值,要调用一个函数,需要使用函数名,并传入它需要的所有参数
Javascript使用传值方式传递参数
传递一个对象作为一个函数的实参时,比如dog,形参会得到这个对象的一个副本。
函数中定义的变量,包括形参,都称为局部变量。
函数外定义的变量称为全局变量。
局部变量在定义该变量的函数之外不可见。这称为变量的作用域。
如果声明一个局部变量时与一个全局变量同名,这个局部变量会遮蔽全局变量。


函数也是值,可以赋给变量,传值给其他函数、存储在数组中,还可以赋给对象属性。
对象是属性的集合
可以使用点记法或[]记法访问对象的属性
如果使用[]记法,要把属性名作为一个串用引号引起来,例如myObject["name"]
可以改变一个属性的值,删除属性,或者向对象增加新属性
可以使用一个for-in循环枚举对象的属性。
赋给一个对象属性的函数称为方法
方法可以使用一个特殊的关键字this来引用调用这个方法的对象
构造函数是创建对象的函数
构造函数的任务是创建一个新对象,并初始化这个对象的属性
要调用一个构造函数对象,需要使用new关键字,例如new Dog()
这本书中一直在使用对象,包括document、window和很多元素对象
window对象时全局对象
document对象时window的一个属性
document.getElementById方法会返回一个元素对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值