一.什么是对象?
对象是事物,在现实世界中,一个球,一张桌子,一辆汽车都是对象。
对象就是具有可描述特征的事物,我们可以用某种特定的方式去影响和操作它。
在JS中或者说在面向对象的编程语言中,对象是一系列属性和方法的组合
一个属性包含属性名和属性值,这个值可以是任意类型的数据,也可以是个函数,这种情况下函数也被称为方法。
除了字符串、数字、true、false、null和undifined之外,JavaScript中的值都是对象。
二.对象的特征?
对象有属性,也就是对象的特征,可以通过点符号来访问一个对象的属性。
objectName.propertyName;
布尔是对象(如果用 new 关键词定义)
数字是对象(如果用 new 关键词定义)
字符串是对象(如果用 new 关键词定义)
日期永远都是对象
算术永远都是对象
正则表达式永远都是对象
数组永远都是对象
函数永远都是对象
对象永远都是对象
所有 JavaScript 值,除了原始值,都是对象。
三.创建对象的四种方式
.1 利用字面量创建对象
{}
2 利用new Object() 创建对象
注意:
- Object() 第一个字母大写
- new Object() 需要用到new关键字构造
- 使用格式 对象.属性 = 值
3 利用构造函数创建对象
- 构造函数
- 构造函数:是一种特殊的函数,主要是用来初始化对象的,即为对象成员变量附初始值.
- 构造函数一般和new关键字一起使用。我们可以把对象中一些公共属性和方法进行提取放置在构造函数中
4 new关键字的作用
- 在构造函数代码开始执行前,创建一个空的对象
- 修改this的指向,把this指向刚刚创建出来的空对象
- 执行函数的代码
- 在函数完成之后返回this–即创建出来的对象
遍历对象
for … in 语句用于对数组或对象进行循环操作
将对象中的数据,转换存在数组中;
for(var k in 对象名){ } 遍历出 k为属性名,对象名[k]–>属性值;
var df ={
name:"xiaoming",
age:20,
sex:"nan",
play:function(){
console.log("可以玩")
}
}
for (var o in df){
console.log(o);// name age sex play
console.log(o+"的值为:"+df[o]); // o为属性名 df[o]属性值
console.log(o.length); // 4 3 3 4 打印出属性值的字节长度
}
内置对象
Js中对象分为3中:自定义对象,内置对象,浏览器对象(宿主对象)
前面两种对象是js基础内容,属于ECMAScript,第三个浏览器对象属于js独享,内置对象就是指的是js语言中自带的一些对象,这些对象供开发者使用,并提供一些常用的或是最基本必要的功能()属性和方法,内置对象最大的优点帮助我们快速开发
Math数学对象
Math对象是一个静态对象,换句话说:在使用Math对象,不需要创建实例。
Math.PI:圆周率。
Math.abs():绝对值。如:Math.abs(-9) = 9
Math.ceil():向上取整(整数加1,小数去掉)。如:Math.ceil(10.2) = 11
Math.floor():向下取整(直接去掉小数)。如:Math.floor(9.888) = 9
Math.round():四舍五入。如:Math.round(4.5) = 5; Math.round(4.1) = 4
Math.pow(x,y):求x的y次方。如:Math.pow(2,3) = 8
Math.sqrt():求平方根。如:Math.sqrt(121) = 11
Math.random():返回一个0到1之间的随机小数。如:Math.random() = 0.12204467732259783