2 xu dragon xu_dragon 于 2015.07.18 21:11 提问

JS对象与类的名词性问题

Javascript中感觉类和对象是不是都是一个概念啊,感觉都被整糊涂了,求详解啊!
例如:Array 叫数组对象 arr=new Array(); arr 是对象实例

对象创建时,用构造函数方法: function Person(name){
this.name=name;
}
Person叫对象, person1=new Person("小王") ; person1是对象实例

在继承中 
创建一个类(也是创建对象):    function Person(name){
                                    this.name=name;
}
Person是类  person1是类的实例化.
感觉像C++,Java中Person就是类,person1就是类的一个对象。

6个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.07.18 22:09
 首先,搞清楚所说的对象指什么,一般来说分为js内置对象和用户自定义对象
 对于内置对象,像Array,Date,Object等都可以是js的内置对象,如果按照java来理解,也可以理解成类。
 然后是自定义对象,比较特殊的就是function,因为js里面没有class关键字。所以function又可以理解成类。
 如果不牵涉自定义对象,没有什么难理解的,一般都是刚开始对function比较困惑,这有点像c++中的struct。
 function看具体的应用。如果没有new操作,那相当于函数。如果有new function函数名称的操作,那就是当做类来用。这个你的理解没什么问题。

CSDNXIAON
CSDNXIAON   2015.07.18 21:13

JS 类与对象
js类与对象
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

yishuixs
yishuixs   2015.07.18 21:26

这个应该是JS的特点,ECMA-262没有类的概念,并且把函数也定义为一种对象,但是必须要有类的功能啊,所以就创造了一个构造函数的功能,用来模拟类

strutce
strutce   Ds   Rxr 2015.07.18 21:37

Person是类 person1是类的实例化对象

yishuixs
yishuixs   2015.07.18 21:39

比如,我要创建一个state类,有China、America、Russia三个instance,如下:
先创建构造函数,即类:

function State(state, area, population){
    this.name = state;
    this.area = area;
    this.population = population;
}

再创建三个instance:

 var China = new State('China', 960, 13);
var America = new State('America', 930, 3.4);
var Russia = new State('Russia', 1700, 1.4);

如我要访问China的area属性值:

 document.write(China.area);     //返回960
Evankaka
Evankaka   Ds   Rxr 2015.07.18 21:25

嗯嗯,是可以这样认为的

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
JS对象和方法
JS对象和方法JS对象和方法JS对象和方法JS对象和方法
JS对象调用属性
1.对象字面量法创建对象 输出结果: 2.构造函数创建对象 输出结果 : 弹出消息框 ture 输出结果:
JS面向对象---构造函数之间的继承(阮一峰网络日志学习笔记)
主题:对象之间的继承,可以分为:构造函数之间的继承和非构造函数之间的继承。今天学习总结的是构造函数之间的继承。继承方式总共有五种:(只记述前四种)    第一种:将父对象(构造函数即是一个对象)直接绑定在子对象中。    示例代码:    function Animal() {        this.species = "动物";    }    function Cat(name, color...
较好的类名命名规则
2015年11月19日 第一版链接:http://qiita.com/KeithYokoma/items/ee21fec6a3ebb5d1e9a8 原作者:KeithYokoma 译者:Renova类名一般上多使用名词,方法名一般多用动词和助动词,这是因为类名要抽象出拥有某种职责的某物, 所以多使用名词。另一方面,声明接口时,我们一般使用形容词来作为接口的名称(例如:Iterable、Clos
你应该知道的一些IT名词
本文整理常见或不常见的较为难懂的IT相关名词,资料来源于网络,会不定时进行更新,供大家学习参考,欢迎浏览。 网络通信名词 1.DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,或者给内部网络管理员作为对所有计算机作中央管理的手段。 2.UDP 是User Da
相机常见名词
相机常见名词目录相机常见名词 目录 镜头参数 光圈 快门 ISO 景深 数码变焦 光学变焦 数码变焦与光学变焦 对焦功能 白平衡 图像分辨率 相机上的PSAM模式 单反 参考连接镜头参数 焦距 人的眼睛视野范围,如果用镜头焦距来作为参考就是 50mm 的 所以为什么管 50mm 的 镜头称为标头,就是符合人的眼睛视角范围。这个数值越大说明可以拍的越远,数值越 小可以拍的越广,所以小于或者等于 2
JavaScript对象中的属性能否有对象类型
JavaScript对象中的属性能否有对象类型 JavaScript 中的所有事物都是对象:字符串、数值、数组、函数... 此外,JavaScript 允许自定义对象。   JavaScript 对象: JavaScript 提供多个内建对象,比如 String、Date、Array 等等。 对象只是带有属性和方法的特殊数据类型。   例: var cat = {name:"皮
JavaScript中的类与对象的本质
在JavaScript中,函数(function)就是对象。注意:这里的function是小写字母开头。   在JavaScript中,有一个Function对象,所有自定义的函数都是Function对象类型的。 Function对象接收的所有参数都是字符串类型的。 其中最后一个参数就是要执行的函数体,而前面的参数则是函数真正需要接收的参数。 下面就上面两条举个例子: 1 、 //f
python中比较几个常用的名词解释
循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如,while语句。迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。比如,for语句。递归(recursion),指的是一个函数不断调用自身的行为。比如,以编程方式输出著名的斐波纳契数列。遍历(traversal),指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。
JS对象和类
JS对象类别内置对象 如Array Date Function 宿主对象 比如浏览器中的window 自定义对象 用户在代码中创建的 对象的构成属性按继承区分自有属性 继承属性 对象原型中定义的属性按类别分数据属性 存取器属性 var o = { get name() {}, set name(value) {}, } 三个对象特性对象原型 prototype 对象的类 class