JavaScript原生对象

原生对象


js数据类型
基本类型:String、Number、Boolean、null、Undefined
对象类型:Object

存储方式上有区别:
基本类型:直接存储数据
对象类型:间接存储数据,保存数据的"地址",通过地址获取数据

对象:
数据类型的角度:一种复合数据类型,象容器,同时装不同的数据
可以保存多个相关的不同类型的数据,以整体的方式体现

创建对象
1、 使用new + Object()方式;
new:关键字,表示创建对象,在堆内存中开辟空间
Object(): 构造函数,使用new创建对象必须使用

var obj = {};
obj = new Object();

2、添加属性
对象.属性 = 值

p.name="张三";
p.age = 18;

3、获取属性
对象.属性

console.log(p.name);

4、修改属性
对象.属性 = 新值

p.name = '李四';

5、删除属性
delete 对象.属性

delete p.name;

扩展:
变量放入对象中被称为:属性
函数放入对象中被称为:方法
也可也理解为对象由属性和方法构成
我们学的控制语句放入方法中,也就是函数中,完成功能体现方法的业务逻辑

属性规范

对象的属性名称不强制要求遵循标识符规范,但习惯还是遵循命名规范

属性的赋值和访问也可以使用[]方式

语法:对象[‘属性名’] = 属性值

​ 使用[]括号方式,更加灵活,[]中也可以使用变量

​ 变量的值不同,表示添加或访问不同的属性

属性的值可以是任意类型,包括基本类型和对象类型

判断某属性是否存在对象中:使用in运算符, 存在返回true,不存在返回false, 语法: ‘属性名’ in 对象名

对象的属性名类型是:string

 // 定义变量
var prop = 'sex';
//将变量的值作为属性添加到对象中, 变量的值改变,属性的名称就改变
obj[prop];

//给属性赋值
obj[prop] = '男';
//获取属性值
console.log(obj.sex); //男
console.log(obj[prop]); //男
字面量创建对象

语法: var 对象名 = {属性名:属性值, 属性名:属性值, …};

//字面量方法创建对象
var obj = {};
//添加属性
obj.name = 'tom';
obj.age = 20;
//使用属性
console.log(obj.name,obj.age);

//创建对象并初始化
var obj2 = {
    name:'tom2',
    age = 20,
    sex = '男'
};
console.log(obj2);
遍历对象中的属性
//循环获取对象中的属性
for (var pro in obj){
    console.log("属性名:" + pro + ",属性值:" + obj[pro]);
}
基本类型和对象类型

js中对象都保存在堆内存中,变量保存在栈中。

基本类型直接保存数据,彼此独立,互不影响。

引用类型保存在堆中,每创建一个对象,就会在堆内存中开辟一个空间。

引用类型赋值,就是将地址之间互相赋值和拷贝,所以多个引用类型变量可以指向堆内存中的同一个对象。

通过一个变量的操作改变,其他变量也能看到改变后的结果,彼此影响

基本类型比较的是值是否相同,相同返回true,不同返回false;

引用类型比较的是地址,地址相同返回true,地址不同返回false;

// //创建引用类型变量
var obj = new Object();
obj.i = 10; //创建属性i,设置值为10
//将变量obj的保存的“值”,复制一份给变量obj2,
var obj2 = obj; //值传递
console.log("obj.i = " + obj.i);//10
console.log("obj2.i = " + obj2.i);//10
//改变obj2的i属性值
obj2.i++;
console.log("obj.i = " + obj.i);//11
console.log("obj2.i = " + obj2.i);//11
内置对象Date

js中对象的分类:自定义对象,内置对象(date,math),宿主对象(document)

js中使用date表示一个时间

//直接使用构造创建date对象,表示系统的当前时间,包含年月日,时分秒
var d = new Date();
console.log(d);
//根据字符串创建指定时间
d = new Date("06 05, 2021 10:20");
console.log(d);
//getDate() : 获取当前日期是几号
var day = d.getDate();
console.log(day);//13

在这里插入图片描述

math对象

Math不是一个构造函数,是一个工具类,不要用创建对象,封装了数学相关的方法和属性

//获取PI
console.log(Math.PI);
//ceil(x) ---  	对数进行上舍入。
var x = 1.4;
console.log(Math.ceil(x));//2

//floor(x) --- 对 x 进行下舍入
console.log(Math.floor(x));

//round(x) ---  	四舍五入。
console.log(Math.round(x));

//random() ---返回 0 ~ 1 之间的随机数。
console.log(Math.random());

//生成0-10之间的随机数
var ran = Math.round(Math.random() * 10) + 0;
console.log(ran);

//Math.round(Math.random() * (y - x)) + x;

//生成x-y的随机数 -- 1到10
ran = Math.round(Math.random() * 9) + 1;

//生成x-y的随机数 -- 2到10
ran = Math.round(Math.random() * 8) + 2;


var max = Math.max(10, 20, 30, 40);
console.log(max);

var min = Math.min(10, 20, 30, 40);
console.log(min);
// 	pow(x,y) 返回 x 的 y 次幂。
console.log(Math.pow(2, 3));

在这里插入图片描述

string对象

字符串在底层都是以字符的数值形式保存的

//创建字符串
var str = "abcd";

//length --- 字符串的长度
console.log(str.length);

//获取字符串中的字符 --- [下标]
console.log(str[0]); //a
console.log(str[1]); //b

//charAt()--- 返回在指定位置的字符。
//根据下标获取指定位置的字符
var c = str.charAt(0);
console.log(c);//a

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值