WEB前端-HF-HTML5Programming-笔记-CH4 JS对象与函数


JS API:对象/方法(函数)/属性

 

对象

创建对象方法:

1. 对象字面量:大括号和逗号分隔属性所写的对象

2. 构造函数创建对象:new +构造函数

创建对象字面量(注意标点)

Var 对象名={

属性名1:属性值1,

属性名2[属性值21,属性值22,属性值23]

};

 

  • 访问对象属性

1. 对象名.属性名

2. 对象名[“属性名”]

 

  • 改变属性值

1. 直接赋值

2. 向数组添加:对象名.属性名.push(向最末尾增加新元素”)

 

  • 枚举对象的所有属性(for in)

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 likeString=”Fido likes”;

For (var i=0; i<likes.length; i++){

likeString+=””+likes[i];

}

Alert(likesString);

 

  • 将一个对象赋至变量

var 变量=对象;/*变量包含对象的一个引用,而不是对象本身,它不保存对象本身*/

调用一个函数并传入一个对象时,实际传递了对象的引用,这个引用的副本会传递到形参,它指向原来的对象。所以当改变一个对象的属性时,改变的是原对象的属性,而不是副本,在函数内外都可以看到对象的改变。

对象中有函数时,称之为对象有一个方法。将匿名函数赋值给一个属性。

 

代码重用:创建构造函数

1. 命名:首字母大写

2. 形参:取对象属性名,属性名和形参不要求一致,但一般约定为相同的。

3. 将对象属性名初始化为传入构造函数的值:this.属性名=属性名;

4. 可以在构造的对象中包含方法

Function 构造函数名(形参1,形参2,形参3{

This.属性1=形参名1

This.属性2=形参名2

This.属性3=形参名3

This.方法名= function(){

语句;}

}

 

Function Dog(name,breed,weight){

This.name=name;

This.breed=breed;

This.weight=weight;

This.bark=function(){

If  (this.weight>25){Alert(this.name+” says woof!”);}

Else{alert(this.name+” says Yip! ”);}

}

}

Tips:与创建对象区分开,使用分号结束每行,因为构造函数中都是语句。

  • 调用构造函数:关键字new

              Var 变量名=new构造函数名(“”,””,””;

              Var fido=new Dog(“Fido”,”Mixed”,38);

              Var tiny=new Dog(“Tiny”,”Mixed”,42);

  • 调用方法

             Fido.bark();

函数

函数也是值,可以赋值给变量。

Function addOne(num){return num+1;}

Var plusOne=addOne;

Var result=plusOne(1);

函数定义可以没有名字:

Function(num){return num+1;}

Var f=function(num){ return num+1;}

Var result=f(1);

Alert(result);



更多对象

JS中一切都是对象

Document window的一个属性,是用来访问DOM的对象

  • Domain//提供文档的服务器的域
  • Title//document.title得到文档的标题
  • URL//文档的url
    -------------------------------
  • getElementById//根据元素id获取元素
  • getElementsByTagName//使用标记获取元素
  • getElementsByClassName//使用类获取元素
  • createElement//创建适合包含在DOM中的元素

Window  

表示JS程序的全局环境、应用的主窗口,因此包含许多核心属性和方法//是全局对象//定义的所有全局变量都会放在window命名空间中

  • Document//包含DOM
  • Location//包含页面url,改变此属性,浏览器访问新的url
  • Onload//包含页面完全加载时,要调用的函数,将window.onload的值设置为页面加载时的一个函数
  • Status//包含将在浏览器显示的一个串
    -------------------
  • Alert//显示一个提醒
  • Prompt//类似alert,但会从用户得到信息
  • Open//打开新的浏览器窗口
  • Close
  • setTimeout//指定时间间隔后,调用一个处理程序
  • setInterval//以一个指定的时间间隔,反复调用一个处理程序

Input

  • Value

Button

  • Onclick

UL

  • innerHTML
  • childElementCount
  • firstChild
  • -----------------------------
  • appendChild
  • insertBefore

P

  • innerHTML
  • childElementCount
  • firstChild
  • --------------------------
  • appendChild
  • insertBefore//作为元素的子元素,向元素中插入元素
  • SetAttribute//设置
  • GetAttribute//获取元素中的属性

Tips for “this”

  1. THIS只在对象之内有值
  2. 当对象中嵌套对象时,注意this的指向

Tips for onload

  1.  许多对象都有onload属性,当使用window.onload时,最好标明
  2.  Window.οnlοad=init;//init函数值赋值给onload属性
  3.  Window.οnlοad=init();//调用函数init

tips:

  1. 向一个没有声明的变量赋值时,会把它当作一个新的全局变量。在函数内部这样做,会产生全局变量。不推荐

  2. 内置对象与个人创建的对象区别:①. 内置对象遵循W3C规范原则 内置对象有些属性不可修改,例如string

  3. JS 使用一种原型继承的机制,类比于类。
  4. JS内置对象可否修改/增加属性:“JS内置对象的原型不能整体覆盖,只能单独地动态地为原型添加属性或方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值