什么是对象,其实就是一种类型,即【引用】类型。而对象就是【引用类型】的实例。在 ECMAScript 中引用类型是一种【数据结构】,用于将【数据和功能】组织在一起。它也常被称做为【类】,但 ECMAScript 中却没有这种东西。虽然 ECMAScript 是一门【面向对象】的语言,却不具备传统面向对象语言所支持的类等基本结构。
一、历史
面向过程编程语句
汇编、C语言面向对象编程语句
java、object-c、swift、javascript、python、php编程思想:
面向过程的编程思想 -》 面向对象的编程思想
二、思想
面向过程的思想:只关心数学逻辑。
面向对象的思想:直接将生活逻辑映射到我们的程序里。
<1>先去找应用题中的实体
<2>分析实体的属性和功能
<3>让实体之间相互作用得出结果
应用题:有一辆车60km/h,有一条路1000km,问车跑完这条路多长时间?
车
speed: 60km/h
跑在路上
路
length:长度
var hours = 1000 / 60;
alert(hours);
三、概念
类:一类具有相同特征事物的抽象概念。
对象:具体的某一个实例,唯一的个体。
类 对象
熊猫 团团 圆圆
程序员 黄晓明
【注】在JS中没有类这个概念。ECMA6又将类这个概念加进来了。
四、代码
//添加方法(函数)
obj.showName = function(){
alert(obj.name);
}
obj["showAge"] = function(){
alert(obj.age);
}
//使用属性
alert(obj['name']);
alert(obj.sex);
delete obj.sex; //删除属性/方法
alert(obj.sex);
//使用方法
obj["showName"]();
obj.showAge();
//对象常量
var obj = {
name: "小明",
"sex": "男",
showName: function(){
alert(obj.name);
},
showSex: function(){
alert(obj.sex);
}
}
alert(obj['name']);
alert(obj.sex);
delete obj.sex; //删除属性/方法
alert(obj.sex);
五、数据结构:
基本数据类型(存储单个的值) => 数组(处理批量数据) => 对象(既能够存储数据又能够存储函数)
Math对象的函数
alert(Math.max(1, 2, 3, 4, 5));//返回较大的数
alert(Math.min(1, 2, 3, 4, 5));//返回较小的数
alert(Math.abs(-10));//绝对值
alert(Math.round(3.45)); //取整数
alert(Math.ceil(3.1));//向上取整
alert(Math.floor(3.9));//向下取整
alert(Math.sqrt(9));//开平方
alert( Math.pow(x,y)); //x的y次方