前端JS学习(一)

news2025/1/17 1:15:10

基础

JavaScript书写位置

1、行内 JavaScript
  通常放在文档结尾的 < / b o d y > </body> </body> 上面
  将 < s c r i p t > <script> <script>放在HTML文件的底部附近是因为浏览器会按照代码在文件中的顺序加载HTML。
2、内部JavaScript
  代码写在标签内部。
3、外部」avaScript
  代码写在以 .js 结尾的文件里,通过script标签,引入到html页面中。

JavaScript输出语法

输出语法:
 语法1:
  document.write(‘要出的内容’)
  作用:向body内输出内容
 语法2:
  alert(‘要出的内容’)
  作用:页面弹出警告对话框
 语法3:
  console.log(‘控制台打印’)
  作用:控制台输出语法,程序员调试使用
  换行输出:’ < br > ’

JavaScript输入语法

输入语法:
  语法:prompt(‘请输入您的姓名:’)
  作用:显示一个对话框,对话框中包含一条文字信息,用来提示用户输入文字

变量

  语法:let 变量名 = 值
  多个变量中间用逗号隔开,但并不推荐这样。通常为了更好的可读性,一行只声明一个变量。
在avaScript中,根据作用域的不同,变量可以分为:全局变量、局部变量
  全局变量:函数外部1et 的变量
  函数内部1et 的变量
全局变量在任何区域都可以访问和修改,局部变量只能在当前函数内部访问和修改。
访问原则:在能够访问到的情况下先局部,局部没有在找全局

数组

  语法:1et 数组名=[数据1,数据2,…·,数据n]
  数组是按顺序保存,所以每个数据都有自己索引号

常量

  当某个变量永远不会改变时,可使用const来声明一个“常量”。
  语法:const 变量名 = 值
  注意:常量不允许重新赋值,声明的时候必须赋值(初始化)

数据类型

JS数据类型整体分为两大类:基本数据类型、引用数据类型
基本数据类型:
  number 数字型
  string 字符串型
  boolean 布尔型
  undefined 未定义型
  null 空类型

引用数据类型
  object对象

  number 数字型

  number 数字型可以进行算术运算操作,主要包括加、减、乘、除、取余(求模)。>+: 求和、-: 求差、*: 求积、/: 求商、%: 取模(取余数)
  算术运算符优先级:先乘除取余,后加减,有括号先算括号
  NaN代表一个计算错误。它是一个不正确的或者一个未定义的数学操作所得到的结果。任何对NaN的操作都会返回NaN。

  string 字符串型

通过单引号(“)、双引号(”)或反引号(')包裹的数据都叫字符串,单引号和双引号没有本质上的区别,推荐使用单引号。
.
字符串拼接:+运算符可以实现字符串的拼接(数字相加,字符相连)
.
注意事项:
  1.无论单引号或是双引号必须成对使用
  2.单引号/双引号可以互相嵌套,但是不以自已嵌套自已
  3.必要时可以使用转义符\,输出单引号或双引号

模板字符串:拼接字符串和变量
  语法:内容用反引号``,内容中的变量用(美元符号+{})包住
  例: 在这里插入图片描述

boolean 布尔型

布尔类型数据表示真或假,它只有true和false两个固定的值。

未定义类型(undefined)

未定义是比较特殊的类型,只有一个值undefined。未定义类型是弱数据类型,声明一个变量未赋值就是undefined(只声明变量,不赋值)

nul(空类型)

JavaScript中的null仅仅是一个代表“无”、"空”或“值未知”的特殊值。undefined表示没有赋值,而null表示赋值了,但是内容为空。nul作为尚未创建的对象,即将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null。

检测数据类型

JavaScript中可以通过typeof关键字检测数据类型,支持两种语法形式:
  作为运算符:typeof ×(常用的写法)
  函数形式:typeof(x)
在这里插入图片描述

类型转换

JavaScript是弱数据类型,在使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,需要转换变量的数据类型。类型转换,就是把一种数据类型的变量转换成我们需要的数据类型。

隐式转换

隐式转换:某些运算符被执行时,系统内部自动将数据类型进行转换。缺点是转换类型不明确。
 规则:
  +号两边只要有一个是字符串,都会把另外一个转成字符串, - * / 等都会把数据转成数字类型。任何数据和字符串相加结果都是字符串。
在这里插入图片描述

显式转换

为了避免因隐式转换带来的问题,通常根逻辑需要对数据进行显示转换。
显式转换明确告诉系统该转成什么类型。
转换为数字型:Number(数据)
       只保留整数:parselnt(数据)
       可以保留小数:parseFloat(数据)

运算符

赋值运算符:对变量进行赋值的运算符
赋值运算符:=将等号右边的值赋予给左边,要求左边必须是一个容器
其他赋值运算符:
  +=
  *=
  /=
  %=

一元运算符:
 JavaScript运算符可以根据所需表达式的个数,分为一元运算符、二元运算符、三元运算符
  自增:++
  自减:–
注意:前置自增和后置自增单独使用没有区别
let num=1 num++, ++num
其作用都相当于 num+=1
.
注意:前置自增和后置自增如果参与运算就有区别
  前置自增:先自加再使用(记忆口决:++在前先加)
  后置自增:先使用再自加(记忆口诀:++在后后加)
在这里插入图片描述

比较运算符:
在这里插入图片描述

逻辑运算符:解决多重条件判断
 怎么判断一个变量um是否大于5且小于10?
  错误写法:5<num<10
  正确写法:num > 5 && num < 10
在这里插入图片描述

运算符优先级:
在这里插入图片描述

分支语句

i f if if 语句
if 语句有三种结构:单分支、双分支、多分支
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三元运算符
在这里插入图片描述

switch语句
switch case语句一般用于等值判断,不适合于区间判断,switch case一般需要配合break关键字使用,没有break会造成case穿透

在这里插入图片描述

循环语句

while 循环:
在这里插入图片描述
while循环需要具备三要素:
  1.变量起始值
  2.终止条件(没有终止条件,循环会一直执行,造成死循环)
  3.变量变化量(用自增或者自减)
在这里插入图片描述

for 循环:
在这里插入图片描述
例子:
在这里插入图片描述
当如果明确了循环的次数的时候推荐使用for循环
当不明确循环的次数的时候推荐使用while循环

数组

数组(Array):是一种可以按顺序保存多个数据的数据类型
  定义1:1et 数组名=[数据1,数据2,··,数据n]
  定义2:1et 数组名=new Array(数据1,数据2,··,数据n)

操作数组
在这里插入图片描述
.
新增
  数组名. push():将一个或 多个元素添加到数组的末尾,并返回该数组的新长度(重点)
  数组名.unshift() :将一个或多个元素添加到数组的开头,并返回该数组的新长度
.
删除
  数组名. pop() :从数组中删除最后一个元素,并返回该元素的值
  数组名. shift() :从数组中删除第一个元素,并返回该元素的值
  数组名. splice(start,deleteCount) :删除指定元素。start 指定修改的开始位置(从0计数),deleteCount:要移除的数组元素的个数,可选。如果省略则默认从指定的起始位置删
除到最后。
.
数组排序
数组名. sort() 方法可以排序,从小到大
升序:arr.sort(function (a,b){ return a-b})
降序:arr.sort(function (a,b){ return b-a})

函数

函数:是被设计为执行特定任务的代码块,可以实现代码复用,提高开发效率。
.
无参函数定义:function 函数名(){ 函数体 }
无参函数调用:函数名()
. . .
函数名命名规范:
  尽量小驼峰式命名法
  前缀应该为动词
  例:function getName( ){ }
.
参数函数定义:function 函数名(参数){ 函数体 }
参数函数调用:函数名(参数)
用户不输入实参,可以给形参默认值,默认值只会在缺少实参参数传递时才会被执行,所以有参数会优先执行传递过来的实参。
.
当函数需要返回数据出去时,用return关键字
语法:return 数据
.
函数可以分为:具名函数、匿名函数在这里插入图片描述
匿名函数,是没有名字的函数,无法直接使用。使用方式:函数表达式、立即执行函数。
1、函数表达式:将匿名函数赋值给一个变量,并且通过变量名称进行调用
在这里插入图片描述
2、立即执行函数:避免全局变量之间的污染
注意:多个立即执行函数要用;隔开,要不然会报错在这里插入图片描述

对象

对象(object):JavaScript里的一种数据类型,可以理解为是一种无序的数据集合,用多个变量保存则比较散,用对象比较统一。有静态特征=>可以使用数字,字符串,数组,布尔类型等表示、动态行为=>使用函数表示。
.
对象声明
1、:1et 对象名={ }
2、:let 对象名=new Object()
.
对象由属性和方法组成
  属性:信息或叫特征(名词)。属性都是成对出现的,包括属性名和值,它们之间使用英文:分隔,多个属性之间使用英文,分隔
  方法:功能或叫行为(动词)
.
对象属性操作
在这里插入图片描述
对于多词属性或则“—"等属性,点操作就不能用了。采取:对象[‘属性’]方式,单引号和双引号都阔以
在这里插入图片描述
.
对象方法操作
方法是由方法名和函数两部分构成,它们之间使用:分隔
在这里插入图片描述
.
遍历对象
在这里插入图片描述
.
内置对象-Math
Math对象是JavaScript提供的一个“数学”对象,提供了一系列做数学运算的方法
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决在写论文过程中遇到的插入到论文中的图片不清晰的问题(全网最详细最全解决方法)

目录 1 插入到word中的图片不清晰 2 将word转化为pdf以后图片不清晰 3 在利用latex写作过程中得到的pdf图片不清晰 4 将位图转换为矢量图 在读论文的过程中其实我们可以发现很多论文的插图在放大以后是模糊的&#xff0c;这是因为他们所插入的并不是矢量图。 矢量图&#x…

关于数学建模论文中“学习率”是什么东西?

问题背景 数学建模2022年无人机问题的时候遇见一个关于学习率的东西&#xff0c;不是很清楚的现在可以看看下面的内容了。 问题解决 学习率在机器学习和优化中是一个常见的概念&#xff0c;它决定了模型在每次更新时应该调整多少。较高的学习率可能会导致模型在寻找最优解时跳…

Questa Sim使用教程仿真-示例

Questa Sim0基础仿真教程 文章目录 一、 打开软件二、运行编译后的文件 一、 打开软件 1、新建工程 File -> New -> project 2、填写工程名称和工程位置然后点"ok" 3、编写或者添加文件&#xff0c;这里直接添加一个编写好的反相器的文件。 可关注公众号&a…

进程控制块(PCB)的存储方式

进程控制块&#xff08;PCB, Process Control Block&#xff09;是操作系统用于描述和控制进程的重要数据结构。它包含了与进程有关的所有必要信息。为了有效地组织和管理PCB&#xff0c;操作系统通常会使用不同的存储方式&#xff0c;其中两种常见的方式是链式存储和索引存储。…

linux的文件系统,理解一切皆文件

1. 系统文件I/O 1.1 open #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); pathname: 要打开或创建的目标文件 flags: 打开文件时…

stable diffusion实践操作-VAE

本文专门开一节写图生图相关的内容&#xff0c;在看之前&#xff0c;可以同步关注&#xff1a; stable diffusion实践操作 大部分底模有VAE&#xff0c;但是部分底模没有VAE&#xff0c;需要专门下载VAE才能使用。 最常用的VAE&#xff1a;vae-ft-mse-840000-ema-pruned 用来饱…

VBA_MF系列技术资料1-172

MF系列VBA技术资料 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧&#xff0c;我参考大量的资料&#xff0c;并结合自己的经验总结了这份MF系列VBA技术综合资料&#xff0c;而且开放源码&#xff08;MF04除外&#xff09;&#xff0c;其中MF01-04属于定…

react中使用cytoscape

1. 安装 cytoscape npm install cytoscape 2. 使用 import React, { useEffect, useRef, useState } from "react"; import cytoscape from "cytoscape";const peopleList [{"data": {"id": "1","label": &qu…

ShardingSphere——压测实战

摘要 Apache ShardingSphere 关注于全链路压测场景下&#xff0c;数据库层面的解决方案。 将压测数据自动路由至用户指定的数据库&#xff0c;是 Apache ShardingSphere 影子库模块的主要设计目标。 一、压测背景 在基于微服务的分布式应用架构下&#xff0c;业务需要多个服…

前端、后端面试集锦

诸位读者&#xff0c;我们在工作的过程中&#xff0c;经常会因跳槽而面试。 你开发能力很强&#xff0c;懂得技术也很多&#xff0c;但由于不知道如何组织面试的话术&#xff0c;从而让自己的面试不理想。 面试专栏-前端、后端面试 专栏已组织好面试的话术&#xff0c;为你的…

中国五百强企业用泛微为合同加速,提升数字化办公水平

华谊集团借力泛微&#xff0c;融合企业微信、SAP、WPS、电子签章等多种系统&#xff0c;构建了业务集成、场景驱动的全程数字化合同管理平台。 上海华谊&#xff08;集团&#xff09;公司是由上海市政府国有资产监督管理委员会授权&#xff0c;通过资产重组建立的大型化工企业…

docker搭建个人网盘和私有仓库Harbor

目录 1、使用mysql:5.7和 owncloud 镜像&#xff0c;构建一个个人网盘 2、安装搭建私有仓库 Harbor 1、使用mysql:5.7和owncloud&#xff0c;构建一个个人网盘 1.拉取mysql:5.6镜像&#xff0c;并且运行mysql容器 [rootnode8 ~]# docker pull mysql:5.7 [rootnode8 ~]# doc…

百亿级访问量,如何做缓存架构设计

说在前面 在40岁老架构师 尼恩的读者社区(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如阿里、网易、有赞、希音、百度、网易、滴滴的面试资格&#xff0c;遇到一几个很重要的面试题&#xff1a;&#xff1a; 分布式缓存系统&#xff0c;如何架构&#xff1f;百亿级访…

2023年7月京东打印机行业品牌销售排行榜(京东运营数据分析)

鲸参谋监测的京东平台7月份打印机行业销售数据已出炉&#xff01; 7月份&#xff0c;打印机市场呈现下滑趋势。根据鲸参谋平台的数据可知&#xff0c;当月京东平台打印机的销量为48万&#xff0c;环比下降约28%&#xff0c;同比下降约18%&#xff1b;销售额为4亿&#xff0c;环…

超市商品管理

解决前后端跨域问题 分页 添加 权限 实现逻辑 权限-------中间表联系------->角色---------------中间表---------->用户

Android微信数据库解密2

Android微信数据库解密2 上篇文章讲了下微信数据库密码规则,以及相关的代码. 本篇文章主要讲解下使用xpose获取对应的数据库密码. public class HookModule implements IXposedHookLoadPackage {public static final String TAG "HookModule";Overridepublic voi…

并发编程的关键——LOCK

并发编程的关键——LOCK 锁的分类synchronized万物即可为锁synchronized的实现锁升级 LockAQSLockSupportCLHCAS Lock实现ReentrantLock阻塞方法acquireReadWriteLockReentrantReadWriteLockStampedLock 锁的分类 公平锁/非公平锁&#xff1a; – 公平的意思是多个线程按照申请…

uniapp项目实战系列(4):服务的异步请求,请求服务的二次封装

目录 系列往期文章&#xff08;点击跳转&#xff09;uniapp项目实战系列(1)&#xff1a;导入数据库&#xff0c;启动后端服务&#xff0c;开启代码托管&#xff08;点击跳转&#xff09;uniapp项目实战系列(2)&#xff1a;新建项目&#xff0c;项目搭建&#xff0c;微信开发工具…

Greenplum-segment镜像分布策略

Greenplum作为一款基于PostgreSQL的OLAP分布式MPP架构&#xff0c;其内部的角色可以通过配置冗余来保证高可用性&#xff0c;无论是管理节点还是计算节点。管理节点可以为Master配置一个Standby来保证高可用&#xff0c;而计算节点则可以为每个Primary segment配置一个对应的Mi…

Linux测开常用命令总结

文章目录 Linux系统中文件目录树 基本指令的使用&#xff1a; Linux命令的帮助信息查看 --help command --help 说明&#xff1a; 显示command 命令的帮助信息通过man命令查看帮助信息 man command( 命令的名称) man 命令查看的帮助信息更加详细ls&#xff0c;pwd&#xff0c…