Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript自定义数据类型和对象之间有什么区别?_Javascript - Fatal编程技术网

Javascript自定义数据类型和对象之间有什么区别?

Javascript自定义数据类型和对象之间有什么区别?,javascript,Javascript,我正在学习javascript,想知道是否有人能给我指出或解释自定义数据类型和常规类对象之间的良好描述 我正在通过下面的示例代码剪贴来帮助我。自定义数据类型和常规类类型对象是一回事吗?我对这一点感到困惑 function Person(firstName, lastName) { this.firstName = firstName; this.lastName = lastName; this.getFullName = function() { re

我正在学习javascript,想知道是否有人能给我指出或解释自定义数据类型和常规类对象之间的良好描述

我正在通过下面的示例代码剪贴来帮助我。自定义数据类型和常规类类型对象是一回事吗?我对这一点感到困惑

function Person(firstName, lastName) {
    this.firstName = firstName;
    this.lastName = lastName;

    this.getFullName = function() {
        return this.firstName + " " + this.lastName;
    };

    this.greet = function(person) {
        alert("Hello " + person.getFullName());
    };

}

var person1 = new Person("Bill", "Smith");
var person2 = new Person("John", "Doe");

person2.greet(person1);

alert(person1.getFullName());

提前感谢大家。这是第一个吗

在javascript中,没有类(但OOP是可能的)

1。主要数据类型包括
数组
int
字符串
浮点

2。自定义数据类型也是数组类型,只是您可以在其中定义属性和函数

例子

两个

对于第一个,您可以使用该值或对其进行操作

对于第二个,您可以定义所需内容,也可以调用在该变量中定义的函数

因此,使用
example2
可以执行以下操作:

example2.name='Joe';
example2.introduce();// Will alert "Hi from Joe";
请注意,在定义自定义对象时,可以参照
this
调用其属性和函数,正如我在
this.name
中使用的那样


由于您是javascript的新手,还需要注意的是,您只需要使用
var
来创建变量,而不像其他语言中的
int
string

什么是自定义数据类型?在js中,您可以通过object.create/constructor functions/literal对象创建对象。你在这里做的是构造函数什么是“常规类”?JavaScript对象没有“类型”。我从另一种语言的理解是,我说的是类,指的是类对象。下面的人明白了我的意思,向我解释了一切。谢谢
var example2 = {
    name: 'Hi',
    introduce: function () {
        alert("Hi from "+this.name);
    }
};
example2.name='Joe';
example2.introduce();// Will alert "Hi from Joe";