javascript中对象都是通过函数创建的

面向对象是当代编程的主流思想。无论是C++还是Java,都是面向对象的。严格意义上来讲,JavaScript并不是面向对象的, 但Javascript的灵活性足以让我们将其用作一门面向对象语言.

JavaScript是一种没有类的,面向对象的语言。它使用原型继承来代替类继承。

在学习原型继承前,我们来了解一下在javascript中对象的概念。可以先告诉大家,javascript的对象是不同于 Java, C++中对象的概念的。

学过java或者C++的人都知道,对象是什么、对象是怎样产生的。为了和javascript中的对象进行比较,还是举一个java下对象的例子

class person{
string name;
string birthday;
public void sayhello{
  System.out.println("hi,I am "+name+",I was born in "+birthday);
}
}
person Amy=new person();

在java或C++里,对象是new一个class出来的,里面有字段,属性,方法.

但是在javascript中,对象里面的一切都是属性,只有属性,没有方法。那么方法如何表示呢?方法也是一种属性,表示为键值对的形式。

/通过字面量定义的对象
var Amy = { 
                 name : "Amy", 
                 birthday : "1997年1月1日",
                 say_hello   : function(){ console.log( "hi,I am "+name+",I was born in "+birthday); }
            };

或者通过方法来创建一个对象:

function person() {
                 name : "Amy", 
                 birthday : "1997年1月1日",
                 say_hello   : function(){ console.log( "hi,I am "+name+",I was born in "+birthday); }

        }
        var Amy = new person();

可以看到,javascript中function(函数)的作用相当于java中class(类)的作用,那么在javascript中一句很重要的话就是,

对象都是通过函数创建的。

javascript的数据有两种,简单数据和复杂数据。简单数据有undefined,null,boolean,number和string这五种。复杂数据只有一种,即对象(object)。

那么,在javascript中,数组是对象,函数也是对象。

比如,数组:
var mycars=new Array();//Array()是一个函数,对象都是由函数创建的
mycars[0]="Saab"
mycars[1]="Volvo"
mycars[2]="BMW"
比如,函数:
var fn = function () {
            alert(100);
        };
  fn.a = 10;
  fn.b = function () {
           alert(123);
     }//函数就作为对象被赋值了a、b两个属性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值