JavaScript编程对象与属性基础知识分享


[日期:2020-09-10 17:40]   来源:    阅读:

随着互联网的不断发展,越来越多的人都在学习JavaScript编程开发技术,而今天我们就一起来了解一下,JavaScript编程对象与属性基础知识分享。

JavaScript编程对象与属性基础知识分享

一、对象

JavaScript的对象和其他语言有很多不同之处,比如其他语言都要定义好“类”,才可以创建对象,而JavaScript则可以不用预先定义类;反而,它却可以动态给对象添加属性,而其他语言却有点困难…

前面已经说了,JavaScript的对象系统是以“原型”这一概念实现的,除过原型,还有下面两种方式可以用来实现对象系统:

类,预先定义好“类”,然后批量生成对象,如Java、C++、Objective-C等;

duck-typing,只要走起来像鸭子、游泳像鸭子、叫起来也像鸭子,那么它就是一只鸭子,动态语言通常会支持,比如Python、Go。

那么,我们先来看看在人类思维模式下,对象究竟是什么。

>对象这一概念在人类的幼儿期形成,这远远早于我们编程逻辑中常用的值、过程等概念。在幼年期,我们总是先认识到某一个苹果能吃(这里的某一个苹果就是一个对象),继而认识到所有的苹果都可以吃(这里的所有苹果,就是一个类),再到后来我们才能意识到三个苹果和三个梨之间的联系,进而产生数字“3”(值)的概念。

JavaScript使用的原型概念,实际上非常符合我们人类在经过万亿年进化之后才形成的认知模式。从小时候一无所知开始,慢慢接触的事物越来越多,自我得到扩展,慢慢地又可以举一反三,进行类比,物理世界的所有客观存在都被映射到我们的大脑中,并形成了独特的标记。这样不断扩充我们自己的认知,终形成一套独特而高效的世界观。原型的含义就是这样,在概念和范围上从小到大,不断扩展,从已知到未知,从直观到抽象,终延伸出整个体系。

只不过,JavaScript推出之时受管理层之命被要求模仿Java,所以,JavaScript创始人BrendanEich在“原型运行时”的基础上引入了new、this等语言特性,使之“看起来更像Java”。

二、两类属性

JavaScript对象的属性可以分为两类,一类是数据属性,一类是访问器属性。

数据属性,比较接近于其它语言的属性概念,核心是属性值。数据属性具有四个特征。

value:就是属性的值。

writable:决定属性能否被赋值。

enumerable:决定forin能否枚举该属性。

configurable:决定该属性能否被删除或者改变特征值。

访问器(getter/setter)属性,它也有四个特征:

getter:函数或undefined,在取属性值时被调用。

setter:函数或undefined,在设置属性值时被调用。

enumerable:决定forin能否枚举该属性。

configurable:决定该属性能否被删除或者改变特征值。

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。


友情链接: