js内置对象

news/2024/11/8 16:52:58/

对象

面向对象是干嘛的
封装–>把代码包装起来,不能随意访问/修改 只能通过特定方法
继承–>继承父类的属性/方法
多态–>同一个类型有不同的样式

面向过程:吃狗屎–>描述的是一个过程 用代码去说明,这个过程是怎么样的:做什么
面向对象:狗吃屎–>描述的是一个对象的行为 用代码去调用该对象完成的操作:
谁去做

一句话总结面向对象:你是个老板 你要想的不是这件事怎么做,而是让谁去做
以老板的心态去管理项目,思考好哪个功能需要用什么类/对象去实现而不是纠结在单个功能怎么实现

对象由什么东西组成:
属性: 用变量表示
方法: 用函数来表示

JavaScript对象也是由属性和方法组成,调用方式也是通过对象xx的方式进行访问

js的内置对象 --> 类似于Python的内置模块

js自定义对象,是用键值对的方法来保存数据
let 对象名 = {
键:值,
键:值
}

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>let ting={name:'小明',age:20,drink:function(){alert('多喝水')}}alert(ting.name)alert(ting.age)ting.drink()</script>
</body>
</html>

数组

数组作用/表现行为和Python列表都是非常相似的 作用都是用来保存多个数据/变量.
数组表现形式为: 用一对中括号[]包裹起来的数据 里面的数据用逗号隔开,数据类型不限
let 数组名 = [数据1,数据2,数据3]

let ting = [‘小明’,18,‘不男不女’,true]
0 1 2 3

数组里的数据是基于下标来保存的,下标相当于坐标,类似于酒店门牌号,默认从0开始

可以通过数组名[下标]方式访问对应数据 -->索引
数组名[下标]

console.log(ting[2]) 取出不男不女

可以通过数组名.length 获取数组的长度(数组里有几个数据)

数组名.length
ting.length

注意:
1.数组是没有负数下标 不能数组名[-1]这种方式取值
2.数组里没有切片
3.数组里的内容可以被修改

数组名[下标] = 值
ting[0] = ‘胡涛’

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><script>let stu=['西北锤王','东北狐仙','大秦','武安君']console.log(stu[3])stu[0]='小明'console.log(typeof  stu,stu)console.log(stu.length)</script>
</body>
</html>

数组的方法

push: 在数组最后追加数据 可以追加多个数据 返回值为追加后的数组长度
数组名.push(数据)
数据命.push(数据1,数据2)

pop:删除数组的最后一个数据 返回值为删除的数据
数组名.pop()

unshift:在数组最前面添加数据 可以添加多个数据 返回值为追加后的数组长度
数组名.unshift(数据)
数组名.unshift(数据1,数据2)

shift:删除数组的第一个元素,返回值为被删除的元素
数组名.shift()

splice:增删数据 取出数组里的一部分数据
数组名.splice(起点下标,取数据数量)

toString:把数组转为字符串 返回值值为转换的结果
数组名.toString()

reverse:数组数据反转
数组名.reverse()

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><script>//添加pushlet stu=['西北锤王','东北狐仙','大秦','武安君']stu.push('国师')console.log(stu,stu.push('高启强','胡歌','石昊'))//删除popconsole.log(stu.pop())//添加unshiftconsole.log(stu.unshift('胡歌'))//删除shiftconsole.log(stu.shift(),stu)//splicelet num=[1,5,6,11,55,66]let arr=num.splice(1,3)console.log(arr,num)//把数组转为字符串toStringlet nnum = num.toString()console.log(nnum,typeof nnum)//数组翻转,返回值为转换的结果reverseconsole.log(num.reverse)</script>
</body>
</html>

字符串(string)

声明方式:
let str1 = ‘hello’
let str2 = new String(‘hello’)

属性:
length 获取字符串里的数据个数
字符串.length

方法:
toUpperCase:把字符串里的字母转换为大写
toLowerCase:把字符串里的字母转换为小写
字符串.toUpperCase()
字符串.toLowerCase()

subsstring:截取字符串 (切片 取头不取尾)字符串.substring(起点,终点)
split:分割字符串 通过指定的字符把字符串分割为数组字符串.split('分割字符')
indexOf:获取指定元素的下标,有两个参数 1.要找的数据 2.起点字符串.indexOf('数据',起点下标)
charCodeAt:获取字符对应的编码字符串.charCodeAt(下标)
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><script>let str1=new String('xiaoming')console.log(str1.length)let str2='Hello world'console.log(str2.toUpperCase())//大写console.log(str2.toLowerCase())//小写console.log(str2.charCodeAt(4))let str3='小明要睡觉了'console.log(str3.substring(1,4))//字符串切片console.log(str3.split('已经睡着了'))console.log(str3.lastIndexOf('已经睡着了'))</script>
</body>
</html>

math(数学)

属性:
PI -->圆周率
Math.PI

方法:
random:生成0-1之前的随机数
ceil:数据向上取整 不管小数 整数+1
floor: 数据下取整 不要小数 保留整数
round:四舍五入求整
max:获取最大值
min:获取最小值

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><script>document.write(Math.PI+'<br>')let num=Math.random()document.write(num)let num1=parseInt(Math.random()*10)document.write(num1)document.write('<br>')document.write(Math.ceil(num))document.write('<br>')document.write(Math.floor(num1))document.write('<br>')document.write(Math.round(num1))document.write('<br>')document.write(Math.max(num1))document.write('<br>')document.write(Math.min(num1))document.write('<br>')</script>
</body>
</html>

date(日期)

Date() -->Date对象
let 变量名 = Date() 声明Date日期对象

getTime():获取格林威治时间戳 1970.1.1距离现在多少秒
getFullYear():获取当前年份
getMonth():获取当前月份 计算月份从0开始计算 所以要获取本月月份+1
getDate():获取日
getHours():获取小时
getMinutes():获取分钟
getSeconds():获取秒

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><script>console.log(Date())let now_time=new Date()let this_time=new Date('2023-5-23 22:56')console.log(now_time)console.log(this_time)console.log(now_time.getTime())console.log(now_time.getFullYear())console.log(now_time.getMonth()+1)console.log(now_time.getDate())console.log(now_time.getHours())console.log(now_time.getMinutes())console.log(now_time.getSeconds())</script>
</body>
</html>

http://www.ppmy.cn/news/93339.html

相关文章

C++中的函数模板

目录 1. 什么是函数模板&#xff1f; 2. 如何定义函数模板&#xff1f; 3. 如何使用函数模板&#xff1f; 4. 函数模板与函数重载的区别是什么&#xff1f; 5. 函数模板与类模板有何异同点&#xff1f; 1. 什么是函数模板&#xff1f; - 函数模板是一种通用的函数描述&…

基于 1 AT89C51 单片机的电子时钟设计报告

一、设计要求与目的 1〕设计要求以 AT89C51 单片机为核心的时钟&#xff0c;在 LCD 显示器上显示当前的 时间。 2〕、使用字符型 LCD 显示器显示当前时间。显示格式为"时时&#xff1a;分分&#xff1a;秒秒〞。 3〕、用 3 个功能键操作来设置当前时间。 4〕、熟悉掌握 pr…

C语言函数大全-- x 开头的函数(3)

C语言函数大全 本篇介绍C语言函数大全-- x 开头的函数 1. xdr_opaque 1.1 函数说明 函数声明函数功能bool_t xdr_opaque(XDR *xdrs, char *buf, u_int len);用于编码或解码任意长度的二进制数据 参数&#xff1a; xdrs &#xff1a; 指向 XDR 数据结构的指针&#xff0c;表…

一个torch.nn.MultiheadAttention的使用例子

# 来源&#xff1a;https://towardsdatascience.com/illustrated-self-attention-2d627e33b20a import torch import torch.nn as nnbatch 2# TODO MHA n_q, n_k, n_v 3, 4, 4 d_q, d_k, d_v 5, 5, 5 # 必须一致embed_dim d_q num_heads 8 dmodel embed_dim * num_heads…

【Python】Requests库基本使用

知识目录 一、写在前面✨二、Requests库三、接口调用四、总结撒花&#x1f60a; 一、写在前面✨ 大家好&#xff01;我是初心&#xff0c;希望我们一路走来能坚守初心&#xff01; 今天跟大家分享的文章是 Python中Requests库在爬虫和自动化中的使用 &#xff0c;希望能帮助到…

交通标志识别系统-卷积神经网络

介绍 使用Python作为主要开发语言&#xff0c;基于深度学习TensorFlow框架&#xff0c;搭建卷积神经网络算法。并通过对数据集进行训练&#xff0c;最后得到一个识别精度较高的模型。并基于Django框架&#xff0c;开发网页端操作平台&#xff0c;实现用户上传一张图片识别其名…

〖Python网络爬虫实战㉙〗- Selenium案例实战(三)

订阅&#xff1a;新手可以订阅我的其他专栏。免费阶段订阅量1000 python项目实战 Python编程基础教程系列&#xff08;零基础小白搬砖逆袭) 说明&#xff1a;本专栏持续更新中&#xff0c;目前专栏免费订阅&#xff0c;在转为付费专栏前订阅本专栏的&#xff0c;可以免费订阅付…

144 Tops,特斯拉如何低成本实现了城市NOA?

作者 | 树人 编辑 | 德新 根据特斯拉2022年Q4的财务文件披露&#xff1a;FSD Beta已有将近40万用户。 这是目前全世界部署规模最大的城市NOA系统。 而特斯拉实现这样一套系统&#xff0c;在车端几乎仅用了8个摄像头和144 Tops算力的FSD计算平台。这种性能压榨和成本控制能力让…