关于Javascript对象的理解

来源:互联网 发布:服务器 ftp端口号 编辑:程序博客网 时间:2024/06/05 10:13

【前言】
接触前端好久了,对JavaScript对象的理解一直模模糊糊,使用起来特别为难,后来重新看了一下以前的教程,恍然大悟,通过这件事悟出了一个道理:不同阶段对知识的理解能力不一样,上班1年后,回过头重新阅读这些,有一种柳暗花明又一村的感觉。现总结了一下,希望可以帮助更多的人。
【javascript对象】
1 JavaScript 中的所有事物都是对象:字符串、数值、数组、函数…
此外,JavaScript 允许自定义对象。
标注:对象只是带有属性和方法的特殊数据类型。

2 内建对象:JavaScript 提供多个内建对象,比如 String、Date、Array 等等。
3 对象有自己的属性和方法。
第一:访问对象的属性(属性是与对象相关的值)
访问对象属性的语法是:objectName.propertyName
这个例子使用了 String 对象的 length 属性来获得字符串的长度:
例1:
var message=”Hello World!”;
var x=message.length;
第二:访问对象的方法(方法是能够在对象上执行的动作)
您可以通过以下语法来调用方法:objectName.methodName()
这个例子使用 String 对象的 toUpperCase() 方法来将文本转换为大写:
例2:
var message=”Hello world!”;
var x=message.toUpperCase();
4 创建 JavaScript 对象(通过 JavaScript能够定义并创建自己的对象)
创建新对象有两种不同的方法:
(1) 定义并创建对象的实例
(2) 使用函数来定义对象,然后创建新的对象实例

第一种:创建直接的实例
这个例子创建了对象的一个新实例,并向其添加了四个属性:
例1

person=new Object();
person.firstname=”Bill”;
person.lastname=”Gates”;
person.age=56;
person.eyecolor=”blue”;

例2

person={firstname:”John”,lastname:”Doe”,age:50,eyecolor:”blue”};

第二种:使用函数来构造对象:
例3 对象构造器如下:
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}

创建 JavaScript 对象实例

一旦您有了对象构造器,就可以创建新的对象实例,就像这样:

var myFather=new person(“Bill”,”Gates”,56,”blue”);
var myMother=new person(“Steve”,”Jobs”,48,”green”);

把属性添加到 JavaScript 对象
您可以通过为对象赋值,向已有对象添加新属性:

假设 personObj 已存在 - 您可以为其添加这些新属性:firstname、lastname、age 以及 eyecolor:

person.firstname=”Bill”;
person.lastname=”Gates”;
person.age=56;
person.eyecolor=”blue”;

x=person.firstname; //在以上代码执行后,x 的值将是:Bill

把方法添加到 JavaScript 对象

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

在构造器函数内部定义对象的方法:

function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;

this.changeName=changeName;
function changeName(name)
{
this.lastname=name;
}
}

changeName() 函数 name 的值赋给 person 的 lastname 属性。
myMother.changeName(“Ballmer”);

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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果32g不够用怎么办 移动4g网络卡怎么办 移动4g网非常卡怎么办 移动4g卡网速慢怎么办 手机移动4g网卡怎么办 华为手机摄像头进灰怎么办 美图t8忘记密码怎么办 华为mate7忘记开机密码怎么办 华为mate9开机密码忘记怎么办 华为手机系统更新失败怎么办 mate9系统升级后耗电快怎么办 华为荣耀手机耗电快怎么办 荣耀10手机拍照不清晰怎么办 荣耀6x拍照模糊怎么办 华为荣耀P9进水了怎么办 苹果5s手机信号不好怎么办 苹果5s信号不好怎么办? 苹果5s像素不好怎么办 华为mate边缘有缝怎么办 华为mate8边缘有缝怎么办 手机系统占用运行内存大怎么办 安卓手机储存空间不足怎么办 手机显示系统空间不足怎么办 联系人存储已停止运行怎么办 荣耀note8听筒声音小怎么办 红米4x内存不足怎么办 安卓电视内存小怎么办 红米手机运行内存不足怎么办 红米手机存储空间不足怎么办 华为手机储存空间不足怎么办 大麦机顶盒遥控器丢了怎么办 大麦盒子总自动加软件怎么办 小米手机玩王者荣耀卡怎么办 荣耀8青春版信号差怎么办 华为mate8电池不耐用怎么办 华为4x内存小怎么办 发现手机被用过怎么办 华为p8手机声音小怎么办 手机指纹解锁密码忘了怎么办 华为p10黑色掉漆怎么办 金立手机导航信号弱怎么办