JS基础(一)

一 JS概述

1.     历史

   

1995年 JS出现在网景浏览器中

   

1996年 IE也开始出现了JS

   

1997年 指定了JS的标准规范ECMAScript   目前是ES6

   

2009年 JS开始向后端发展,出现了Node.js

   

二 JS入门

1.     JS的运行方式

   

1.      内部写法

   

<script>JS代码</script>

   

   

2.      外部写法

   

(1)    先创建外部的01.js文件

   

(2)    将外部文件引入   <script src=”01.js”>这里不能再写其他的代码</script>

   

2.     JS的语法规范

   

1.      JS代码严格区分大小写

   

2.      每行代码结束后的分号可以省略不写

   

3.      JS语法比html和css都要严格

   

如大小写写错、符号写成了中文符号,代码就无法正常执行,会报错

   

三 基础语法

1.     注释comment

   

注释: 用于解释代码的内容,被注释掉的内容不会被执行,可以提高代码的可阅读性和后期的可维护性

   

单行注释,格式 //  快捷键 Ctrl+/

   

多行注释,格式 /* */ 快捷键  Ctrl+Shift+/

   

2.     变量variable

   

变量的概念:

   

用于存储数据的容器,格式:

   

声明单个变量 var x = 1

   

声明多个变量 var a = 1,b =2

   

使用关键字var来声明变量,x表示变量的名称,会在内存中开辟空间,然后把后面的值1存进去

   

   

变量的赋值:

   

1.      变量可以声明的时候同时赋值,也可以先声明再赋值,但变量需要声明后才可以使用

   

2.      变量声明了但没有赋值,打印出来的是undefined(未定义)空

   

3.      变量不可以没有声明就直接使用,会报错(变量未定义)

   

4.      变量允许多次赋值,后面的值会把前面的值覆盖掉,重新赋值不需要再写var

   

5.      变量的多次赋值可以赋不同类型的值(这是弱类型语言的特点)

   

   

变量的命名规则:

   

1.      变量名称可以由字母、数字、下划线(_)、美元符号($)构成

   

2.      变量名称不可以用数字开头

   

3.      变量名称不可以是关键字,如:var if switch等

   

4.      变量名称不推荐使用中文

   

5.      变量名称要做到语义化(见名知意)

   

多个单词的命名方式:

   

userName 小驼峰命名法 

   

UserName 大驼峰命名法

   

user_name 下划线命名法

   

3.     常量const

   

1.      和变量一样,都是用于存储数据的容器

   

2.      常量的值不允许被修改

   

3.      常量声明时必须赋值,不允许为空

   

4    数据类型 dataType

数据类型分为原始类型和引用类型

原始类型:数值型(number)、字符串型(string)、布尔型(boolean)、未定义型(undefined)、空(object)

(1.     数值型

   

整数类型

   

整数类型就是我们所说的整数 0 1 2 3...

   

数值有多种进制的表示方式

   

   

浮点型

   

浮点型就是我们所说的小数3.14

   

浮点型使用的是科学计数法的表示方式

   

如: 3.14E+2=314  789.34E-2=7.8934

   

(2.     字符串型

   

被引号包裹的值,引号不区分单双引号,JS中推荐使用单引号

   

   

检测数据的类型: 

   

typeof 值

   

查看任意一个字符的编码:

   

'中'. charCodeAt()

   

(3.     布尔型

   

只有两个值,分别是true和false  ,表示真和假,用于保存只有两个值的数据

   

如: 是否登录、是否会员、是否购买过...

   

(4.     未定义型

   

只有一个值,undefined表示空值

   

如:变量声明了但是未赋值就是undefined

   

(5.     空

   

只有一个值,null

   

表示空,但常与引用类型的数据一起使用,后面讲

   

5      数据类型转换

数据类型转换分为隐式转换和强制转换

1.     隐式转换

在运算过程中,自动产生的转换,底层会调用Number()

   

数字+字符串  数字会转为字符串拼接

   

如: var n1 = 2 + '3' //23

   

   

数字+布尔型 布尔型会转为数字进行运算 true->1 false->0

   

如: var n2 = 2 + false//2

   

   

字符串+布尔型 布尔型转为字符串拼接

   

如: var n4 = '2' + true //2true

   

   

JS中加号(+)的作用:

   

1.      数字之间会执行加法运算

   

2.      字符串之间会执行拼接运算

   

2.     强制转换

强制转换需要用到函数

函数:就是一个预先设计好的功能体,我们给它参数,它替我们执行逻辑运算,并给出结果

   

(1)     强制转换为数字Number()

   

var n1 = Number('3')//3 'number'

var n2 = Number('3a')//NaN 'number'

var n3 = Number(true)//1 'number'

var n4 = Number(false)//0 'number'

var n5 = Number(undefined)//NaN 'number'

var n6 = Number(null)//0 'number'

   

   

NaN:Not a Number 不是一个数字

   

是在一个值转为数字的过程中,没有成功转成数字结果,得到了NaN

   

NaN和任何数字执行数学运算的结果还是NaN

   

   

(2)     强制转为整型   parseInt()

   

用于将小数或者字符串转为整型,其他类型转换结果为NaN

   

parseInt(9.9) //9

parseInt('7x') //7

parseInt('y2') //NaN

parseInt(null) //NaN

parseInt(undefined) //NaN

   

   

(3)     强制转换为浮点型(小数) parseFloat()

   

用于将字符串转为浮点型,其它类型的转换结果为NaN

   

parseFloat('3.14a')//3.14

parseFloat('a3.14')//NaN

parseFloat('75')//75

   

   

(4)     强制转换为字符串【了解】 toString()

   

var n = 2 //number类型

n.toString() //‘2’

   

拓展

   

进制

   

10进制(DEC Decimal) 由0~9构成 逢十进一

   

2进制(BIN Binary) 由0和1构成 逢二进一 以0b开头

   

8进制(OCT Octal) 由0~7构成 逢八进一 以0开头

   

16进制(HEX Hexadecimal) 由0~9与a~f构成 逢16进一   以0x开头

   

win+R输入calc打开计算器,选择”程序员”可以进行不同进制间的转换

   

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

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

相关文章

查看navicat保存的数据库连接密码

背景 经常使用navicat的朋友可能会碰到忘记数据库连接密码的情况&#xff0c;自然会想到navicat连接配置中就保存了密码。 个人经验&#xff0c;按以下步骤可查看密码明文 本人在mac上使用的navicat版本 1&#xff0c;导出connection_local.ncx 点击OK导出保存为connection_l…

iOS面试:4.多线程GCD

一、多线程基础知识 1.1 什么是进程&#xff1f; 进程是指在系统中正在运行的一个应用程序。对于电脑而已&#xff0c;你打开一个软件&#xff0c;就相当于开启了一个进程。对于手机而已&#xff0c;你打开了一个APP&#xff0c;就相当于开启了一个进程。 1.2 什么是线程&am…

【电子书】人工智能

资料 wx&#xff1a;1945423050&#xff0c;备注来源和目的 个人整理了一些互联网电子书 人工智能 Julia机器学习核心编程&#xff1a;人人可用的高性能科学计算.epubKeras深度学习实战.epubMATLAB图像与视频处理实用案例详解.epubMATLAB金融算法分析实战&#xff1a;基于机器…

Java学习笔记2024/2/23

今日内容 抽象类 接口 内部类 教学目标 能够写出抽象类的格式能够写出抽象方法的格式能说出抽象类的应用场景写出定义接口的格式写出实现接口的格式说出接口中成员的特点能说出接口的应用场景能说出接口中为什么会出现带有方法体的方法能完成适配器设计模式 第一章 抽象类…

c语言--typedef关键字

目录 一、typedef关键字是用来干嘛的&#xff1f;二、用法 一、typedef关键字是用来干嘛的&#xff1f; typedef 是⽤来类型重命名的&#xff0c;可以将复杂的类型&#xff0c;简单化。 二、用法 比如&#xff0c;你觉得 unsigned int 写起来不方便&#xff0c;如果能写成 u…

[网鼎杯 2020 白虎组]PicDown

网鼎杯的&#xff0c;这应该是送分的那种 界面很普通&#xff0c;就长这样。源代码也没什么&#xff0c;随便输入试试 出现了"/page?url1" 这可能是ssrf题目。 但是尝试了一些payload发现下载了一张图片&#xff0c;并且url里自动补齐了127.0.0.1。使用记事本打开…

MySQL数据库基础(十三):关系型数据库三范式介绍

文章目录 关系型数据库三范式介绍 一、什么是三范式 二、数据冗余 三、范式的划分 四、一范式 五、二范式 六、三范式 七、总结 关系型数据库三范式介绍 一、什么是三范式 设计关系数据库时&#xff0c;遵从不同的规范要求&#xff0c;设计出合理的关系型数据库&…

SQL Server——建表时为字段添加注释

在 MySQL 中&#xff0c;新建数据库表为字段添加注释可以使用 comment 属性来实现。SQL Server 没有 comment 属性&#xff0c;但是可以通过执行 sys.sp_addextendedproperty 这个存储过程添加扩展属性来实现相同的功能。 这个存储过程的参数定义如下&#xff1a; exec sys.s…

Shell变量类型和运算符

一、Shell变量类型 1、变量类型 Shell的3种变量&#xff1a; &#xff08;1&#xff09;局部变量&#xff1a;除了本地变量外&#xff0c;还有shell脚本中定义的变量。 &#xff08;2&#xff09;全局变量&#xff1a;和局部变量相对。比如环境变量就是一种全局变量。 &am…

协议的概念+本质+作用+最终表现形式,网络问题(技术+应用+解决的协议+存在原因),主机的对称性

目录 协议 概念 示例 -- 摩斯密码 本质 作用 网络问题 引入 技术问题 应用问题 主机的对称性 问题对应的协议 问题出现的原因 理解协议(代码层面) 举例 -- 快递单 协议的最终表现形式 协议被双方主机认知的基础 协议 概念 协议是在计算机通信和数据传输中规定通…

Docusaurus框架——快速搭建markdown文档站点介绍sora

文章目录 ⭐前言⭐初始化项目&#x1f496; 创建项目&#xff08;react-js&#xff09;&#x1f496; 运行项目&#x1f496; 目录文件&#x1f496; 创建一个jsx页面&#x1f496; 创建一个md文档&#x1f496; 创建一个介绍sora的文档 ⭐总结⭐结束 ⭐前言 大家好&#xff0…

关于torch.cuda.is_available() 返回False 详细说明及解决

一 cuda 环境检测失败 cuda 环境检测代码&#xff1a; import torchprint(torch.__version__) print(torch.cuda.is_available()) print(torch.version.cuda) cuda 环境检测代码执行结果如下图&#xff1a; 关键代码print(torch.cuda.is_available()) 返回 False 通常表示当…

原型设计工具Axure RP

Axure RP是一款专业的快速原型设计工具。Axure&#xff08;发音&#xff1a;Ack-sure&#xff09;&#xff0c;代表美国Axure公司&#xff1b;RP则是Rapid Prototyping&#xff08;快速原型&#xff09;的缩写。 下载链接&#xff1a;https://www.axure.com/ 下载 可以免费试用…

HTMLElement.click()的回调触发踩坑

先看看以下代码 const el document.getElementById("btn") el.addEventListener("click", () > {Promise.resolve().then(() > console.log("microtask 1"));console.log("1"); }); el.addEventListener("click", (…

Java多线程并发学习

一、Java 中用到的线程调度 1. 抢占式调度&#xff1a; 抢占式调度指的是每条线程执行的时间、线程的切换都由系统控制&#xff0c;系统控制指的是在系统某种运行机制下&#xff0c;可能每条线程都分同样的执行时间片&#xff0c;也可能是某些线程执行的时间片较长&#xff0…

网络编程 TCP/UDP通信

网络编程 TCP/UDP通信 1. 0.0.0.0地址与客户端bind函数2. UDP 服务器与客户端通信3. TCP 服务器与客户端通信 1. 0.0.0.0地址与客户端bind函数 0.0.0.0的地址作用 在网络编程中&#xff0c;0.0.0.0是一个特殊的IP地址&#xff0c;通常用于表示"任意地址"或"所有…

使用Lombok @Data 出现java: 找不到符号 的问题

第一种&#xff1a;pom依赖最好如下方式 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>RELEASE</version><scope>compile</scope> </dependency>第二种&#xff1…

C#实用开发(14)--高清晰度字体和窗体分辨率问题。

新建winform程序是&#xff0c;又是会感觉到字体清晰度不够高。还有一种现象就是分辨率的问题&#xff0c;我们平常在自己的电脑开发是用125百分比的分辨率&#xff0c;实际部署的工控机是100&#xff0c;这就会导致分辨率不一致的问题。 可以通过新建应用程序清单&#xff0c;…

Android 广播的基本概念

一.广播简介 Broadcast是安卓四大组件之一。安卓为了方便进行系统级别的消息通知&#xff0c;引入了一套广播消息机制。打个比方&#xff0c;记得原来在上课的时候&#xff0c;每个班级的教室里都会装有一个喇叭&#xff0c;这些喇叭都是接入到学校的广播室的&#xff0c;一旦…

软件推荐:电脑端和手机端做现货白银交易用什么软件?

现在进行现货白银投资&#xff0c;我们不需要到线下的营业厅。在信息时代&#xff0c;一台电脑甚至是移动设备&#xff0c;如手机或者平板电脑等&#xff0c;就可以完成现货白银交易。不过在电脑或者移动设备上完成交易&#xff0c;我们需要现货白银交易软件。下面我们就来讨论…