Java 是面向对象,写 Java 程序,写类和对象。JavaScript 是基于对象,写 Js,不 用创建类,使用 Js 内部已经定义好的对象。
定义JavaScript对象的两种方式
方式一:使用已经存在的对象,通过New关键字创建
<script>
var str=new String("aaa");
var o=new object();
var d=new Date();
alert(d instanceof object);//object
// JS对象 类似一个map结构
var arr=new Array(3);
arr[0]=100;
arr['aaa']=1000;
// alert(arr['aaa']);//1000
arr.showInfo=function(){// 定义对象方法
alert(arr.join(","));//100,,
}
arr.showInfo();
</script>
方式二:通过{ }创建
<script>
var obj={
name:'岳云鹏',
age:30,
getName:function(){
return this.name;
}
};
alert(obj.name); //岳云鹏
alert(obj.age); //30
alert(obj.getName());//岳云鹏
//添加一个方法到obj
obj.getAge()=function(){
return this.age;
}
alert(obj.getAge());//30
</script>
JavaScript 中的对象是通过 new function 创建的,在 Js 中 function 等同于一个 类结构
<script>
//类结构
//JS面向对象编程
//定义类结构
var Product=function(name,price){
this.name=name;
this.price=price;
}
//基于类结构创建对象,使用New关键字
var p1=new Product("饮水机",100);
var p2=new Product("汽车",10000);
alert(p1.name);//饮水机
alert(p1.price);//100
</script>
Object 和 function 的关系
JavaScript 中所有引用类型都是对象 Object 实例 ------- Function instanceOf Object //true
JavaScript 中所有对象都是通过 new Function 实例(function) 获得 ------
Object instance Function //true
JavaScript 所有对象构造函数都是 function 实例;JavaScript 所有对象都是
object 实例,function 也是 object 实例。