【JS学习笔记】08 JavaScript 对象

</pre><pre code_snippet_id="538695" snippet_file_name="blog_20141201_2_7722945" name="code" class="javascript"><h2 style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px; background-color: rgb(249, 249, 249);">JavaScript 对象</h2><p style="margin-top: 12px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; border: 0px; line-height: 18px; font-family: Verdana, Arial, 宋体; background-color: rgb(249, 249, 249);">JavaScript 提供多个<span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">内建</span>对象,比如 String、Date、Array 等等。</p><p style="margin-top: 12px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; border: 0px; line-height: 18px; font-family: Verdana, Arial, 宋体; background-color: rgb(249, 249, 249);">对象只是带有<span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">属性</span>和<span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">方法</span>的特殊数据类型。</p>
<div style="margin: 0px 0px 0px 15px; padding: 20px 0px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); width: 710px; font-family: Verdana, Arial, 宋体; background-color: rgb(249, 249, 249);"><h2 style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px;">创建 JavaScript 对象</h2><p style="margin-top: 12px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; border: 0px; line-height: 18px;">通过 JavaScript,您能够定义并创建自己的对象。</p><p style="margin-top: 12px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; border: 0px; line-height: 18px;">创建新对象有两种不同的方法:</p><ol style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">定义并创建对象的实例</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">使用函数来定义对象,然后创建新的对象实例</li></ol></div><div style="margin: 0px 0px 0px 15px; padding: 20px 0px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: rgb(170, 170, 170); border-bottom-color: rgb(170, 170, 170); width: 710px; font-family: Verdana, Arial, 宋体; background-color: rgb(249, 249, 249);"><h2 style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px;">创建直接的实例</h2><p style="margin-top: 12px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; border: 0px; line-height: 18px;">这个例子创建了对象的一个新实例,并向其添加了四个属性:</p><h3 style="margin: 20px 0px 0px; padding: 0px; border: 0px; font-size: 12px;">实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted rgb(119, 136, 85); font-family: 'Courier New', Courier, monospace; width: 685px; background: rgb(245, 245, 245);">person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";

 

使用对象构造器

本例使用函数来构造对象:

实例

function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}
var myFather=new person("Bill","Gates",56,"blue");

把方法添加到 JavaScript 对象

方法只不过是附加在对象上的函数。


<!DOCTYPE html>
<html>
<body>
<script>
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
 
this.changeName0=changeName;//即使是方法,也要先像属性一样声明,再去定义这个方法
function changeName(name)
{
this.lastname=name;
}
}
myMother=new person("Steve","Jobs",56,"green");
myMother.changeName0("Ballmer");
document.write(myMother.lastname);
</script>

</body>
</html>

JavaScript 类

JavaScript 是面向对象的语言,但 JavaScript 不使用类。

在 JavaScript 中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。

JavaScript 基于 prototype,而不是基于类的。

JavaScript for...in 循环

JavaScript for...in 语句循环遍历对象的属性。

语法

for (对象中的变量)
  {
  要执行的代码
  }

注释:for...in 循环中的代码块将针对每个属性执行一次。

实例

循环遍历对象的属性:

var person={fname:"Bill",lname:"Gates",age:56};

for (x in person)
  {
  txt=txt + person[x];
  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值