javascript里面的对象和JSON

对象

什么是对象,对象就是无序数据的集合,由若干个"键值对"(属性:值)来组成
下面是一个典型的对象:

let obj = {
  name: '野兽先辈',//"name":'野兽先辈'的写法也是可以的
  age: 24,
  work: 'student',
  speak: function(){
    console.log('hello world')
  }
}
console.log(obj)
  • {key: value}是JS对象字面量的写法
  • {“age”:5}等价于{age:5}

对象的基本使用

  • 那么对于对象来说,如何去使用呢?
    在这里插入图片描述
  • 我们还可以对这个对象中的数据进行修改
    在这里插入图片描述
  • 可以设置一个变量,然后将属性赋值给这个变量
    人有没有没有什么
  • obj[变量]和obj.属性有很大的区别.
    在这里插入图片描述
  • 给对象新增一个属性
    在这里插入图片描述
  • 遍历一个对象
    在这里插入图片描述

对象的其他一些用法

Object.keys()

  • 使用Object.keys()可以将一个对象的属性变为一个数组
    在这里插入图片描述

delte

  • 使用delte 可以删除对象里面的属性
    在这里插入图片描述

JSON格式

什么是JSON呢?

JSON 是一种语法,用来序列化对象、数组、数值、字符串、布尔值和 null 。它基于 JavaScript 语法,但与之不同:JavaScript不是JSON,JSON也不是JavaScript。----MDN
  • 是一种数据格式,用于数据交换,在很多配置文件里都能看到xxx.json
  • 将数据传输给服务器,数据需要遵守一个标准去储存然后传输.服务器也需要一个标准去解析.

格式

  • 有复合类型和简单类型构成
  • 复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。
  • 简单类型的值只有四种:字符串、数值(必须以十进制表示)、布尔值和null(不能使用NaN,Infinity,-Infinity和undefined)。
  • 字符串必须使用双引号表示,不能使用单引号。
  • 对象的键名必须放在双引号里面。
  • 数组或对象最后一个成员的后面,不能加逗号。
//合法的JSON格式
["one","two","three"]
{"one":1,"two":2,"three":3}
{"names":["张三","李四"]}
[{"name":"张三"},{"name":"李四"}]

//非法的JSON格式
{name:"张三",'age':32}//属性名必须使用双引号
[32,64,128,0xFFF]//不能使用十六进制值
{"name":"张三","age":undefined}//不能使用undefined

JS内置对象

JSON.stringify

  • 用于把一个值变为符合JSON的对象

JSON.parse

  • 用于把一个符合JSON格式的字符串还原
    在这里插入图片描述

Date对象

时间的几种表达方式

GMT

  • 规定格林尼治标准时间的正午是在格林尼治上空最高点时间。由于地球每天的自转是不规则的,被原子钟报时的协调世界时(UTC)所取代。

UTC

  • 以原子时秒长为基础,接近GMT时间,但更精确

CST

  • 百儿京儿时间,在东八区,比世界协调时快八小时(即UTC+8)

创建一个时间对象

  • 我们可以通过new Date()来创建一个当前时刻的时间对象,注意,这个创建的是一个对象
  • Date()创建的是当前时刻的字符串
    在这里插入图片描述

date对象的常见用法

我们可以通过一些方法调用now Date()对象里属性的值

getTime()

  • 使用getTime()可以返回对象距离1970年1月1日00:00:00对应的毫秒数
    在这里插入图片描述

Date.now()获取时间毫秒数的简化写法

  • 可以直接获取当前时间的毫秒数
    在这里插入图片描述
  • +new Date()也可以
    在这里插入图片描述

d.getMonth()

  • 值得注意的是,月份是从0开始计算,因此下图返回的值是7,实际上是8月
    在这里插入图片描述

其他各种用法

d.getTime()//返回实例对象距离1970年1月1日00:00:00对应的毫秒数
d.getDate()//返回实例对象对应每个月的几号(从1开始)
d.getDay()//返回星期,星期日为0,星期一为1,以此类推
d.getFullYear()//返回四位的年份
d.getMonth()//返回月份(0表示1月,11表示12月)
d.getHours()//返回小时(0~23)
d.getMilliseconds()//返回毫秒(0-999)
d.getMinutes()//返回分钟(0-59)
d.getSeconds()//返回秒(0-59)

在这里插入图片描述

创建一个其他时间的对象

  • 可以在new Date()中传递一个参数
    在这里插入图片描述
  • 传递一个毫秒数也可以得到一个一模一样的时间
    在这里插入图片描述

Math和Number的一些用法

常用方法

// 向下取整
console.log( Math.floor(3.15) ) //3
console.log( Math.floor(3.75) ) //3
console.log( Math.floor(-3.75) ) //-4
// 向上取整
console.log( Math.ceil(3.15) ) //4
// 四舍五入
console.log( Math.round(3.15) ) //3
console.log( Math.round(3.75) ) //4
// 绝对值
console.log( Math.abs(-3) ) //3

最大值和最小值

// 最大最小值
console.log( Math.max(3, 1, -2) ) //3
console.log( Math.min(3, 1, -2) ) //-2
//写一个函数,返回数组的最大值
const max = arr => Math.max(...arr)
max([3, -2, 5]) // 5

随机数Math.random()

  • Math.random() 返回[0,1)之间的一个伪随机数,包括0,不包括1

在这里插入图片描述

  • 可以设置一个匿名函数,然后每次运行得到一个不同的值
    在这里插入图片描述

写一个函数,返回长度为n的随机字符串,包含A-Z,0-9

function randStr(len) {
  let dict = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
  let res = ''
  for (let i=0;i<len;i++){
  res+=dict[Math.floor(Math.random()*dict.length)]
  }
  return res
  
}
console.log (randStr(9))

在这里插入图片描述

写一个函数randomNum, 参数为min和max,返回一个最小为min、最大为max(包含max)的随机整数。

function randomNum(min, max) {
  return min + parseInt(Math.random()*(max+1-min))}

number

parseInt(数字,进制)

  • parseInt可以将数字转换成整数,但是他默认只能理解十进制和十六进制,其他进制数如果不设置进制,会自动理解为十进制.

to fixed()

  • 保留小数x位
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值