当前位置: 首页 > ai >正文

JavaScript基础语法five

1、什么是对象

对象:一种数据类型,一种无序的数据集合,可以详细的描述事物。

2、对象使用

对象声明语法:

let 对象名={}
​
let 对象名=new Object()

对象有属性和方法组成

let 对象名={
​
属性名:属性名,
​
方法名:函数
​
}

属性-查:

语法:对象名.属性名

另一种写法:对象名[属性名](属性名中带有字符串的用此写法)

let obj={
'goods-name':'小米',//"goods-name":'小米',color:'pink'
}
console.log(obj.color)
console.log(obj['goods-name'])

属性-改:

语法:对象名.属性名=新值

属性-删:

语法:delete 对象名.属性名

属性-增:

语法:对象名.新属性名=值

方法:在对象外面叫函数,在对象里面叫方法

方法调用:对象名.方法名()

<script>let person = {name: 'andy',sayHi: function () {document.write('hi')},totalSum: function (x, y) {document.write(x + y)}}person.sayHi()//对象直接调用即可,不需要打印person.totalSum(1, 2)</script>

3、遍历对象

<script>let arr=['pink','red','blue']for(let i in arr){console.log(i);//数组的下标 索引号,但是是字符串'0',不推荐遍历数组 }let obj={uname:'pink',age:18,gender:'女'}//for in适合遍历对象for(let key in obj){console.log(key);//属性名'uname' 'age' 'gender'console.log(obj[key]);}</script>

4、内置对象

内置对象是js内部提供的对象

Math对象是js提供的一个数学对象

<script>//ceil向上取整console.log(Math.ceil(1.1));//2console.log(Math.ceil(1.5));//2console.log(Math.ceil(1.9));//2//floor 向下取整console.log(Math.floor(1.1));//1console.log(Math.floor(1.5));//1console.log(Math.floor(1.9));//1//round 四舍五入取整console.log(Math.round(1.1));//1console.log(Math.round(1.49));//1console.log(Math.round(1.5));//2console.log(Math.round(1.51));//2console.log(Math.round(-1.1));//-1console.log(Math.round(-1.5));//-1console.log(Math.round(-1.51));//-2//max,minconsole.log(Math.max(1, 2, 3, 4));//4console.log(Math.min(1, 2, 3, 4));//1//abs绝对值console.log(Math.abs(-1));//1
​</script>

null也是js数据类型中的一种,它表示不存在的对象,使用typeof检测它的类型为object。

随机数函数

Math.random():[0,1)//左闭右开

生成0-10的随机数:Math.floor(Math.random()*(10+1))

生成5-10的随机数:Math.floor(Math.random()*(5+1))+5

生成N-M的随机数:Math.floor(Math.random()*(M-N+1))+N

案例:猜数字

<script>function getRandom(N,M){return Math.floor(Math.random()*(M-N+1)+N)}let getNumRandom=getRandom(1,10)let flag=truefor(let i=1;i<=3;i++){let num = +prompt('请输入要猜的数:')if(num>getNumRandom){alert('猜大了')}else if(num<getNumRandom){alert('猜小了')}else{alert('猜对了')flag=falsebreak}}if(flag){alert('次数已用完')}</script>
http://www.xdnf.cn/news/18282.html

相关文章:

  • Python学习 -- MySQL数据库的查询及案例
  • 计算两幅图像在特定交点位置的置信度评分。置信度评分反映了该位置特征匹配的可靠性,通常用于图像处理任务(如特征匹配、立体视觉等)
  • redis-缓存-双写一致性
  • git 常用命令整理
  • 【倍增 桶排序】后缀数组
  • 【Java后端】Spring Boot 全局异常处理最佳实践
  • Firefox 142 引入 CRLite 用于私有证书撤销
  • LeetCode热题100--101. 对称二叉树--简单
  • 【clion】visual studio的sln转cmakelist并使用clion构建32位
  • 游戏本不插电源适配器不卡设置教程
  • 数据库架构开发知识库体系
  • Pub/Sub是什么意思
  • 常见的学术文献数据库
  • 好家园房产中介网后台管理完整(python+flask+mysql)
  • 开源的实时 Web 日志分析器GoAccess安装使用指南
  • 【数据结构】快速排序算法精髓解析
  • Vue 3 高性能实践 全面提速剖析!
  • Android 资源替换:静态替换 vs 动态替换
  • [GraphRAG]完全自动化处理任何文档为向量知识图谱:AbutionGraph如何让知识自动“活”起来?
  • sourcetree 拉取代码
  • C++篇(2)C++入门(下)
  • 十二,数据结构-链表
  • Docker Compose命令一览(Docker Compose指令、docker-compose命令)
  • 【基础-判断】@CustomDialog装饰器用于装饰自定义弹窗组件,使得弹窗可以动态设置内容及样式
  • ubuntu下安装vivado2015.2时报错解决方法
  • 1-2前端撸码前的准备,包管理工具和环境搭建
  • SPI 机制深度剖析:Java、Spring、Dubbo 的服务发现哲学与实战指南
  • 基于Java虚拟线程的高并发作业执行框架设计与性能优化实践指南
  • ReAct Agent:让AI像人类一样思考与行动的革命性框架
  • 使用 FastAPI 的 WebSockets 和 Elasticsearch 来构建实时应用