JS相关介绍

1.JS引入:

        内部:直接在html文件内部使用script标签调用

        外部:另外新建JS文件,再在html文件中调用

2.输入输出:

        输入:prompt('请输入您的姓名:')

        输出:document.write('你们真是天才') 注:可以识别标签

                   console.log('控制台输出') 该语句是在控制台输出,用户看不到

3.变量,常量:

        变量声明:let 或 var ------注:var现在一般不用,var引入变量是基于全局的,且变量名可以重复,所以运行时可能报错,let则不会

        变量命名规范:1、有效符号(大小写字母、数字、下划线、$)

                                2、关键字、保留字不能用于变量命名

                                3、不以数字开头

                                4、尽量用有意义的变量名

                                5、驼峰命名法       userName

        常量:引入用const,常量名一般大写

4.基本数据类型:(JS是弱数据类型语言,赋值后才可以知道是什么数据类型)

        数字类型:number

        字符串类型:str

        布尔类型:boolean

5.运算符:这里只介绍逻辑运算符,其他什么算数,关系等九种运算符该处不做介绍

        逻辑运算符:&&      ||         !

                            alert(4 > 3 && 3 < 5)  ------两真为真,一假则假

                            alert(4 < 3 || 3 < 5)  -----一真则真   全假则假

                             alert(!true)   ---取反

6.分支语句:

        单分支:if(条件){执行的语句}

        双分支:if(条件){执行的语句}        else{执行的语句}

        多分支:if(条件){执行的语句}         else if (判断的条件){执行的语句}        else{}

                        注:有几个分支写几个,最后用else结尾即可

 7.循环语句:

        switch:

                switch (变量) {

                            case 条件1:

                                     执行语句

                                      break

                             case 条件2:

                                       执行语句

                                        break

                                default        执行语句}

                while循环:while(条件语句){执行语句}   -----需要有终止条件,否则会死循环

                           do-while同理

                for循环:for(let 条件;判断;处理条件){执行语句}

                注:循环嵌套一样使用即可

8.数组:

        数组的增删改查:增 push 在数组末尾添加------arr.push('姜加')

                                      unshift  在数组首部添加-------arr.unshift('jiangjia')

                                       arr.shift()在数组首部删除

                                       arr.pop()在数组首部删除

                                       splice(删除的起始位置,删除的个数)------arr.splice(3, 1)

                                       splice(添加的起始位置,0,要添加的元素)-------arr.splice(3, 0, 'jiangjia')

        数组遍历:for (let i in student) {

                                    for (let j in student[i]) {

                                        console.log(student[i][j])

                            }

                        }

9.函数:function 函数名(){

                执行语句

                }--------函数需调用才会有用       

         匿名函数:

function sayHi(fn) {fn()console.log('nihao')
}
function () {console.log('jiangjia')}sayHi(sayHello)

   10.值传递,引用传递:

        值传递:传递的时候只传递值

        引用传递:传递时候传递的是地址,当值发生改变时,那个地址中存储的值也会改变

11.默认值参数:PI等

12.箭头函数:

setInterval(() => {console.log('i hate you')}, 1000)

   13.递归:利用函数进行嵌套,对问题进行最小的划分即可

<body><script>function jiecheng(n) {if (n === 1) {return 1} else {return n * jiecheng(n - 1)}}let a = jiecheng(9)-----求阶乘alert(a)</script>
</body>

 14.字符串常用方法

str.split()        ---分割字符串
str.substring()    ---提取从 indexStart 到 indexEnd(不包括)之间的字符
str.startsWith()    ---判断是否以什么开头
str.endsWith()     ---判断是否以什么结尾
str.includes()     ---判断是否包含该字符

 15.对象的增删改查:

<body><script>let obj = {uname: 'zhangfei',age: 21,gender: 'nan'}// obj.uname// obj['age']// 改:对象.属性名obj.uname = 'GGBond'// 增加  对象.新属性名obj.sing = function () {console.log('sing~')}// delete 对象.属性名delete obj.genderconsole.log(obj)</script>
</body>

16.math的内置对象:

// Math.ceil向上取整console.log(Math.ceil(3.1415))
// Math.floor向下取整console.log(Math.floor(3.1415))
// Math.abs   绝对值console.log(Math.abs(-3.12))
// pow console.log(Math.pow(3.12, 10))
// 开平方根console.log(Math.sqrt(9))
// 随机数  console.log(Math.floor(Math.random() * 11) + 2)

 17. dom:

<body><button>提交</button><script>const btn = document.querySelector('button')// console.dir(btn)console.log(typeof (btn))</script>
</body>

   18.元素:

获取元素:// 1、通过css选择器获取             ('字符串')   const li2 = document.querySelector('.two')console.log(li2)// 2.document.querySelectorAll将所有匹配的元素全部获取到,并存放到伪数组const lis = document.querySelectorAll('li')
修改元素内容:元素名.innerHtml/innerText = `字符串`
修改元素属性:对象.属性 = 值
修改元素样式:CSS中的style修改

  19.定时器:

setTimeout\setInterval   定时器
setTimeout :某段代码或者函数在多久后执行
setInterval:间隔一段时间,将代码或者函数执行一次
setTimeout(code||function,time(ms))
返回值是一个整数,代表定时器编码clearTimeout/clearInterval(a) ----该处的a为定时器编码

  练习

for/while循环打印乘法表:   效果图 

 二维数组遍历:

 效果图

 用户注册倒计时:

效果图

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/20674.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx代理nginx.conf配置——反向代理(对WebSocket支持)

一、需求说明 基于Nginx代理nginx.conf配置——反向代理&#xff0c;如果要添加websocket支持&#xff0c;需要进行如下配置 二、配置内容 在http中添加一下配置&#xff0c;添加对websocket支持 http {# 配置其它内容map $http_upgrade $connection_upgrade {default upgra…

开心档之CSS 测验

目录 CSS 测验 CSS 测验 CSS测验是一种衡量前端开发人员对CSS的熟练程度的测试。通过CSS测验&#xff0c;可以评估一个人对CSS语言的掌握程度和应用能力&#xff0c;帮助公司或招聘方挑选合适的人才。下面将介绍如何进行CSS测验以及一些常见的CSS考题。 一、CSS测验的类型 1…

GaussDB WDR报告分析

标题 问题描述问题现象告警业务影响原因分析处理方法步骤 1步骤 2步骤 3步骤 4步骤 6步骤 7步骤 8步骤9步骤 10步骤 11步骤 12 问题描述 CPU使用率高。 问题现象 出现CPU使用率超过阈值&#xff0c;CPU使用率快速上涨或短时间持续较高水平等现象。 告警 CPU使用率告警。 …

Redis学习(二)线程安全、分布式锁、消息队列

文章目录 优惠券秒杀全局ID生成器优惠券秒杀下单超卖问题一人一单 分布式锁基于Redis的setnx指令实现分布式锁解决锁误删问题基于Lua脚本实现多条指令原子性Redis调用Lua脚本Java中使用Lua脚本 RedissonRedisson快速入门Redisson可重入锁原理Redisson的锁重试和Watchdog机制Red…

Unity物理相关组件——2D关节

一&#xff1a;前言 关节组件用来模拟物体与物体之间的连接关系&#xff0c;必须依赖于刚体组件 二&#xff1a;Hinge Joint 2D 用于实现链条物体、钟摆等物体的模拟 ——Enable Collision&#xff1a;是否开启碰撞 ——Connected Rigid Body&#xff1a;关联的刚体&#xff0…

JVM理论(三)运行时数据区--PC寄存器/虚拟机栈/本地方法栈

运行时数据区(JVM内存结构) JVM内存结构 内存是非常重要的资源,是硬盘和CPU的中间桥梁,承载操作系统和应用程序的实时运行.JVM内存布局规定java在运行过程中内存申请、分配、管理的策略&#xff0c;保证JVM高效稳定运行。不同的JVM对于内存划分和管理机制存在部分差异(如J9和JR…

[数据存储]HDFS的简介、初始化配置与运行

文章目录 HDFS简介HDFS数据存储访问方式HDFS节点HDFS的数据存储原理HDFS元数据&#xff08;Block块管理&#xff09;HDFS的数据读写流程HDFS数据写入流程HDFS数据读取流程 启动HDFSHDFS初始化配置${HADOOP_CONF_DIR}/hdfs-site.xml文件系统格式化启动HDFS查看启动状态 HDFS简介…

又是一条慢 SQL 改写,拿捏!

作者分享了一条慢 SQL 分析和优化的过程&#xff0c;总结出切实有效的优化手段。 作者&#xff1a;马文斌 MySQL 爱好者。 本文来源&#xff1a;原创投稿 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。 背景 开发同学丢…

※Redis的事务、乐观锁和悲观锁

1.是神魔 在高并发的环境下&#xff0c;多个线程去竞争同一个资源&#xff0c; 比较常见的有高铁抢票系统&#xff0c;商品秒杀系统等&#xff0c;我们需要保证数据正确&#xff0c;同时系统的吞吐也要尽可能高。2.解决方案 1. 一般多线程同步我们就会想到加锁&#xff0c;用…

数据库作业——select查询操作

数据库作业 创建数据库 mysql> create table worker( -> 部门号 int(11) not null, -> 职工号 int(11) primary key not null,-> 工作时间 date not null,-> 工资…

MiniGPT4 在RTX-3090 Ubuntu服务器部署步骤详解

主要参考知乎帖子&#xff1a; MiniGPT-4 本地部署 RTX 3090 - 知乎 MiniGPT-4部署比麻烦&#xff0c;首先需要获取LLaMA权重&#xff0c;并结合Vicuna的bitwise XOR增量文件完成Vicuna模型权重生成&#xff0c;最后准备好预训练的MiniGPT-4进行模型部署。为了便于理解&#…

这3个方法教你录音转文字怎么导出来

在日常生活中&#xff0c;我们有时候可能需要将音频转换为文本&#xff0c;因为这样可以节省我们听的时间&#xff0c;还能让记录更加清楚明了。那么&#xff0c;你是否知道录音转文字怎么导出来&#xff1f;如果你不懂&#xff0c;请接着看我下面介绍的三种方法吧&#xff01;…