举例说明Javascript对对象操作的知识。

举例说明Javascript对对象操作的知识。
从数组到对象
无功myarr = {红','蓝色','','purple};
myarr; / / 红 {
myarr { 0 }; / /红
myarr { 3 }; / /紫色
你对数组很熟悉。我们可以理解一个键对应的值,并且已经在阵中,这是已经默许了。(例如,上面的代码,其关键是红色、蓝色、价值,黄色,紫色)。

然后可以将对象理解为自定义键数组。
var英雄= {
品种:'turtle,
职业:忍者
};

上面的代码我们可以理解:

1个名字。对象是英雄。

2。与数组不同取代的{ 'symbol{

The attributes of 3. 物体(如品种和职业)用符号,分隔。

4键和值的语法是键:值

还需要注意的是,无论属性(或键)放在双引号、单引号或没有引号上,它们的结果都是一样的。以下代码是相同的。
var obj = { 1,2 }:B;
var obj = {'a':1 B:2 };
var obj = { :1,B:2 };
推荐的写作方式不是将属性放入引号中,除非属性的名称是特殊符号,如数字或空格等。
这篇文章非常简单,重要的是要注意符号}定义的数组,而对象被定义为符号{ }
元素、属性、方法

当我们学习数组时,我们可以说数组包含元素,当涉及到对象时,我们可以改变参数
var动物{ {
名称:'dog,
运行函数(){
警报();
}
}
名称是属性(属性),运行本身是一个函数。在这个对象中,我们调用方法(方法)。

访问对象的属性

有两种方法访问对象的属性。

在数组的形式如:动物{ 'name' }

接入点:animal.name

第一个访问的方法适用于任何情况。但如果属性是无效的,'1name'or'my名字命名的最后一部分是错误的。这一点是要注意的。
下面是对象访问的一个示例
var图书{ {
名称:'javascript基础,
出版:机械。
作者:{
名:'nicholas,
姓:法的应用
}
};
1。得到作者对象FirstName属性

book.author.firstname / /尼古拉斯
2。得到作者对象的LastName属性,我们尝试用另一种方法

本书'author} { { 'lastname / /夏}
我们还可以使用混合访问模式

本书。作者{ 'lastname}或{ }书'author。姓都是有效的,要灵活运用
在动态属性的情况下,使用数组来访问对象。
VaR的关键= 'lastname
书。作者{键};
对象调用方法
var
品种:'turtle,
职业:忍者,
表示:函数(){
return'i是+ hero.occupation;
}
}
Hero.say();
访问对象的方法非常简单,有点在线,但它也可以用数组的方式看起来怪异。

如英雄{ }()';

不建议在访问对象时尽可能使用这种方法。
修改属性和方法

由于Javascript是一种动态语言,所以可以随时修改对象的属性和方法。
var英雄};
英雄是一个空对象。
类型hero.breed; / /未定义
它表明英雄对象没有繁殖属性。

接下来,您可以添加属性和方法。
hero.breed = 'turtle;
hero.name = 'leonardo;
hero.sayname =函数(){ return的英雄的名字;};
调用方法

Hero.sayName(); / /列奥纳多
删除属性

删除hero.name; / /真的
(英雄。sayname); / /失败


var
名称:'rafaelo,
sayname:函数(){
返回this.name;
}
}
Hero.sayName(); / / rafaelo
这意味着对象的意义,以及关于这一点的复杂问题稍后讨论。
构造函数(构造函数)

创建对象的另一种方法是使用构造函数直接看到示例。
函数英雄(){
this.name = 'refaelo;
}
英雄=新英雄();
hero.name; / / refaelo
这种方法的优点是可以在创建对象时传入参数。
函数英雄(名称){
this.name =名称;
this.whoareyou =函数(){
返回this.name;
}
}

VaR HI =新的英雄('nicholas);
Hi.whoAreYou(); / /尼古拉斯
当你想注意的时候,不要失去新的操作员。

全局对象

在过去的几天里,我们已经说过,全球变量已经提到。我们应该尽量避免使用全局变量。当我们学习对象时,我们在观察全局变量是关于什么的。实际上,全局变量是全局对象的属性。如果宿主环境是Web浏览器,则全局变量是窗口。

如果我们定义var a = 1;

我们能理解:

全局变量a,

作为窗口的一个属性,我们可以称之为窗口,或窗口{'a' }

看看预定义函数parseInt('123 m);我们可以写window.parseint('123 m);
构造函数属性

设置对象之后,后台创建了一个隐藏的属性、构造函数。

h2.constructor; / /英雄(名字)
因为构造函数的属性是对函数的引用,如果不关心H2对象是什么创建的,只关心创建一个新对象和H2,可以使用以下写作
VaR H3 = h2.constructor('nicholas);
h3.name; / /尼古拉斯
让我们来看看下面的意思
var;
o.constructor; / /对象()
类型o.constructor; / / 功能
事实上,它隐藏了新对象(),更深层次的应用程序稍后将解释几个教程
instanceof运算

是用来判断一个物体是由指定的构造函数创建。
函数英雄(){
}
新英雄();
var;
H是英雄; / /真的
H是对象; / /假
o实例对象; / /真的

注意,是不是后面的参考功能如H是(英雄)书写错误; / /错误

函数返回对象

构造函数可以用来创建一个对象,或者一个对象可以通过一个普通函数返回到对象来创建一个对象。
函数工厂(名称){
返回{
名称:名称
};
}
用这种方法创建对象
var o =厂();
o.name

让我们来看一个返回到对象的相对少见的构造函数的例子。

函数C(){
这个= 1;
返回{ 2 };
}

新的C();
型C2。 / /未定义
C2 2;
它表明它不返回这个,而是返回到对象{ 2 },重点是注意这个。
传输对象

如果一个对象被传递给一个函数,那么这个转移就是一个引用。如果这个引用被改变了,原始对象将会被改变。

下面是一个对象赋值的例子
VaR原= { name: 'nicholas};
原始副本;
copy.name; / / 'nicholas;
copy.name =詹森';
original.name; / /詹森';
修改复制的属性名也等于修改原始的属性名。

与传递给函数的对象相同。

函数修改(o){
o.name =詹森'
}
VaR原= { name: 'nicholas};
修改(原件);
original.name; / /杰森
比较的对象

两个对象的比较,如果是真的,是同一对象的引用。
Var Fido = {品种:'dog};
Var Benji = {品种:'dog};

石磊= = = / /假狗;
石磊= = / /假狗;

上面的代码不是同一个引用,所以都是错误的。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部