JavaScript初级——基础知识

news2024/11/15 21:25:50

一、JS的HelloWord

    1、JS的代码需要编写到script标签中

  2、JS的执行是根据语句从上到下一次执行的。

二、JS的编写位置

    1、可以将js代码编写到标签的onclick属性中,当我们点击按钮时,js代码才会执行。

   2、可以将js代码写在超链接的href属性中,这样当点击超链接时,会执行js代码。

   3、虽然可以写在标签的属性中,但是他们属于结构与行为耦合,不方便维护,不推荐使用。

   4、可以将js代码编写到script标签中。

   5、可以将js代码编写到外部的js文件中,然后通过script标签引入。

   6、写到外部文件中可以在不同的浏览器中同时引用,也可以利用到浏览器的缓存机制,推荐使用这种方式。

   7、script标签一旦用于引入外部文件了,就不能再编写代码了,即使编写了浏览器也会忽略。如果需要则可以再创建一个新的script标签用于编写内部代码。

三、基本语法

    1、JS中的注释:注释中的内容不会被执行,但是可以在源代码中查看,要养成良好的编写注释的习惯,也可以通过注释来对代码进行一些简单的调适。

          ①   /*     */      表示多行注释

          ②  //       表示单行注释

    2、JS中严格区分大小写。

    3、JS中每一条语句以分号   ;  结尾。

          ——如果不写分号,浏览器会自动添加,但是会消耗一些系统资源,而且有些时候,浏览器会加错分号,所以在开发中分号必须写。

    4、JS中会忽略多个空格和换行,所以我们可以利用空格和换行对代码进行格式化。

四、字面量和变量

    1、字面量:一些不可改变的值,比如1   2  3  4  5 ······

                       字面量都是可以直接使用的,但是我们一般不会直接使用字面量。

    2、变量:可以用来保存字面量,而且变量的值是可以任意改变的。更加方便我们使用,所以在开发中都是通过变量去保存一个字面量,而很少直接使用字面量。可以通过变量对字面量进行描述

    3、声明变量:在js中使用var关键字来声明一个变量。

                          声明和赋值也可以同时进行。

五、标识符

    1、在JS中所有的可以由我们自主命名的都可以称为是标识符,例如:变量名、函数名、属性名都属于标识符

    2、命名一个标识符时需要遵守如下规则:

         ① 标识符中可以含有字母、数字、_ $

         ② 标识符不能以数字开头。

         ③ 标识符不能是ES中的关键字和保留字。

         ④ 标识符一般都采用驼峰命名法

                                ——首字母小写,每个单词的开头字母大写,其余小写。【如:helloWorld  、  xxxYyyZzz】

    3、JS底层保存标识符时实际上是采用的Unicode编码,所以理论上讲,所有的utf-8中含有的内容都可以作为标识符(可以用中文但不建议)。

六、数据类型

    1、数据类型指的就是字面量的类型。

    2、在JS中一共有六种数据类型:

                                                     String     字符串

                                                     Number     数值

                                                     Boolean       布尔值

                                                     Null         空值

                                                     Undefined      未定义

                                                     Object        对象

          其中 String     Number     Boolean      Null       Undefined  属于基本数据类型,而 Object 属于引用数据类型。

    3、String    字符串

① 在JS中字符串需要使用引号引起来,使用双引号或者单引号都可以。

② 引号不能嵌套,双引号里面不能放双引号,单引号里面不能放单引号。正确使用如下:

③ 在字符串中我们可以使用 \ 作为转义字符,当表示一些特殊符号时可以使用 \ 进行转义。

         \"   表示 "

         \'   表示 '

         \n   表示换行

         \t    表示制表符,相当于一个Tab

         \\    表示 \

④   alert(“str”);       表示输出字面量  字符串str

      alert(str);       表示输出变量str

    4、Number   数值

① 在JS中左右的数值都是Number类型,包括整数和浮点数(小数)。

② var a = 123;    表示数字123

     var a = “123”;   表示字符串123

③ 可以使用一个运算符 typeof 来检查一个变量的类型。

     语法:  typeof  变量

     检查字符串时会返回 string; 检查数值时会返回 number 。

④ JS中可以表示的数字的最大值—— Number.MAX_VALUE      【表示数值为:1.7976931348623157e+308】

⑤ 如果使用 Number 表示的数字超过了最大值,则会返回一个 Infinity  表示正无穷;同理,-Infinity表示负无穷。使用typeof检查Infinity也会返回Number。

NaN是一个特殊的数字,表示 Not A Number(非数值);使用typeof检查NaN也会返回Number。

Number.MIN_VALUE        大于0的最小值     【表示数值为:5e-324】

⑧ 在JS中整数的运算基本可以保证精确,如果使用JS 进行浮点数运算,可能得到一个不精确的结果,所以千万不要使用JS进行对精确度要求比较高的运算。

    5、Boolean  布尔值

① 布尔值只有两个【true   表示真; false  表示假】,主要用来做逻辑判断。

② 使用 typeof 检查一个布尔值时,会返回 boolean 。

    6、Null   空值

① Null类型的值只有一个,就是null

② null这个值专门用来表示一个为空的对象。

③ 使用 typeof 检查一个null值时,会返回 object 。

    7、Undifined  未定义

① Undifined类型的值只有一个,就是undefind

② 当声明一个变量时,但是并不给变量赋值时,它的值就是undefined。

③ 使用 typeof 检查一个 undefined 时也会返回 undefined 。

七、强制类型转换

    1、指将一个数据类型强制转换为其他的数据类型。

    2、类型转换主要指,将其他的数据类型转换为  String   、  Number  、 Boolean   。

    3、将其他的数据类型转换为String

  • 方式一:

① 调用被转换数据类型的 toString() 方法。          【调用xxx的yyy()方法就是 xxx.yyy()】

② 该方法不会影响到原变量,它会将转换的结果返回。

③ 但是要注意: null undefined 这两个值没有 toString ()方法;如果调用他们的方法会报错。

  • 方式二:

① 调用 String() 函数,并将被转换的数据作为参数传递给函数。

② 使用 String() 函数做强制类型转换时,对于 Number 和 Boolean 实际上就是调用的 toString()方法;但是对于 null 和 undefined ,就不会调用 toString()方法,它会 null 【字面量】直接转换为 null”【字符串】,将 undefined 【字面量】直接转换为“undefined”【字符串】。

    4、强制转换为Number

  • 方式一:

            使用 Number() 函数。

① 字符串转换为数字 —— 如果是纯数字的字符串,则直接将其转换为数字;

                                —— 如果字符串中有非数字的内容,则转换为NaN;

                                —— 如果字符串是一个空串或者是一个全是空格的字符串,则转换为0。

② 布尔值转换为数字 —— true 转换为1

                                —— false  转换为0

③ Null 转换为数字 0

④ undefined  转换为数字 NaN

⑤ 调用 parseInt()函数将含有数字和非数字的数字部分转换为Number

  • 方式二:

① 这种方式专门用来对付字符串

parseInt()       把一个字符串转换为一个整数,可以将一个字符串中的有效的整数内容取出来,然后转换为Number。

     parseFloat()   把一个字符串转换为一个浮点数。作用和 parseInt()类似,不同的是它可以获得有效的小数。

③ 如果对非 String 使用 parseInt() 或 parseFloat(),它会先将其转换为 String 然后再操作。

    5、强制转换为Boolean

  • 方式一:

① 使用 Boolean() 函数

② 数字转换为布尔值:除了 0 NaN ,其余都是true

③ 字符串转换为布尔值:除了空串,其余都是true。

null undefined 都会转换为false

对象也会转换为 true

  • 方式二:

                        隐式类型转换:为任意的数据类型做两次非运算,即可将其转换为布尔值

八、其他进制的数字

    1、在js中,如果需要表示16进制的数字,则需要以 0x 开头。

    2、如果表示8进制的数字,需要以 0 开头。

    3、如果表示2进制的数字,需要以0b开头,但不是所有的浏览器都支持。

    4、像“070”这种字符串,有些浏览器会当成8进制,有些会当成10进制进行解析,可以再parseInt()中传递一个第二个参数,来指定数字的进制。

本文的分享就到这里,下一节继续分享关于JavaScript初级知识的学习。

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

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

相关文章

fastzdp_sqlmodel新增get_first和is_exitsts方法

说明 经过fastzdp_login的整合,我们发现,fastzdp_sqlmodel还可以继续封装两个便捷的方法。 get_first:获取查询结果集中的第一条数据is_exitsts:判断数据是否已存在 封装get_first方法 def get_first(engine, model, query_di…

优化算法|牛顿-拉夫逊优化算法(NRBO)详解

算法介绍 本篇推文将介绍一种新的智能优化算法,牛顿-拉夫逊优化算法(Newton-Raphson-based optimizer, NBRO),该成果由学者Sowmya等人于2024年2月发表于期刊《Engineering Applications of Artificial Intelligence》。文末提供了原文作者的完整代码git…

【python爬虫】邮政包裹物流查询2瑞数6加密

大家好呀,我是你们的好兄弟【星云牛马】,今天给大家带来的是瑞数6的补环境的总结,补环境肯定是需要一些基础补环境知识的,所以建议没有基础的小伙伴可以加入学习群进行学习,有基础的伙伴加入交流起来。 QQ群&#xff…

《向量数据库指南》——AI应用部署落地与权限安全差别

部署落地与权限安全差别 RAG部署有许多系统化优化点 RAG分化程度非常高,因为RAG是许多东西的组成,类似大数据生态,里边有非常多的环节,从数据抓取、数据清洗、数据挖掘,然后预处理,再经过模型分析,比如说embedding模型生成向量,然后再做数据的持久化,serving stack,就…

打卡学习Python爬虫第二天|数据解析Re 正则表达式

在前面的学习中,我们已经基本掌握了抓取整个网页的基本技能,但是在实际的需求当中,我们不需要整个网页的内容,只需要一小部分。这就涉及到数据提取的问题。 三种数据解析的方式:可混合使用 1、re解析 2、bs4解析 3…

无人机低成本集群技术实现详解

在现代科技的迅猛发展中,无人机技术已广泛应用于军事侦察、环境监测、农业植保、物流配送等多个领域。其中,无人机集群技术作为提高任务效率、降低成本的重要手段,正受到越来越多的关注。本项目旨在研发一套低成本无人机集群系统,…

<C语言>指针的深度学习

目录 一、字符指针 二、指针数组 三、数组指针 1.数组指针的定义 2.&数组名与数组名 3.数组指针的使用 四、数组参数、指针参数 1.一维数组传参 2.二维数组传参 3.一级指针传参 4.二级指针传参 五、函数指针 六、函数指针数组 七、指向函数指针数组的指针 八、回调函数 1…

微信云开发云存储全部下载

一、安装 首先按照这个按照好依赖 安装 | 云开发 CloudBase - 一站式后端云服务 npm i -g cloudbase/cli 二、登录 tcb login 下载 首先在你要下载到的本地文件内创建一个名为:cloudbaserc.json 的json文件。 填入你的id {"envId":"你的云开发环…

STM32基础篇:定时器 × 时基单元

定时器简介 定时器是一种专门负责定时功能的片上外设。F1系列的单片机最多有14个定时器(TIM1~TIM14),具体如下表: 类型外设名称基本定时器TIM6和TIM7通用定时器TIM2~TIM5和TIM9~TIM14高级定时器TIM1和TIM8 基本定时器是功能最简…

Chrome浏览器无法打开无痕模式的解决方案

1.在设置---关于Chrome里面进行升级,升级到最新版本 2.windowsR打开运行输入regedit打开注册表 3、在HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome下面找到IncognitoModeAvailability将值修改为0,重新打开浏览器即可打开无痕模式

【SpringBoot】SpringBoot 中 Bean 管理和拦截器的使用

目录 1.Bean管理 1.1 自定义Bean对象 1.2 Bean的作用域和生命周期 2.拦截器的使用 1.Bean管理 默认情况下,Spring项目启动时,会把我们常用的Bean都创建好放在IOC容器中,但是有时候我们自定义的类需要手动配置bean,这里主要介绍…

掌握这三种方法,让你快速获取商品信息,数据采集不再难

摘要: 面对琳琅满目的天猫商品,如何迅速精准地获取所需信息成为电商竞争的关键。本文揭秘三种实战技巧,助你在数据采集路上快人一步,让繁琐的数据收集变得轻而易举。 一、如何在信息海洋中,快速捞取天猫商品的“珍宝…

wifi密码字典之8位纯数字

最近研究网络安全,对无线网络进行渗透测试,用了kali linux和ubuntu linux,比较了几个抓包与分析工具,最终选择了aircrack-ng,同样的流程用已知的wifi密码测试通过,对网络安全渗透测试要用到密码字典&#x…

midwayjs 无法启动 无任何日志和报错

比如我的mqtt,原本是直接 imports:[mqtt],但无法启动 无任何日志和报错 解决直接 this.app.addConfigObject(mqtt) addConfigObject作用:将 MQTT 配置添加到应用的配置中。addConfigObject 方法允许你在应用初始化完成后动态地添加或更新应…

Ubuntu 添加 GitLab 官方仓库报错“curl is unable to connect to packagecloud.io over TLS”

Ubuntu 安装 Gitlab 报错“curl is unable to connect to packagecloud.io over TLS” 1 现象2 问题排查3 解决方案4 验证 1 现象 Ubuntu 上添加 GitLab 官方仓库时报错“……curl is unable to connect to packagecloud.io over TLS……” 2 问题排查 终端提示中给出两种可…

复现nnUNet2并跑通自定义数据

复现nnUNet2并跑通自定义数据 1. 配置环境2. 处理数据集2.1 创建文件夹2.2 数据集格式转换2.3 数据集预处理 3. 训练 1. 配置环境 stage1:创建python环境,这里建议python3.10 conda create --n nnunet python3.10 conda activate nnunet stage2&#x…

Kotlin 流flow、ShareFlow、StateFlow、Channel的解释与使用

一、介绍 随着Android接入kotlin开发,Android之前好多模式也渐渐被kotlin替代。开发模式也在做渐进的转型,从MVC到MVP在到MVVP以及现在的MVI等。 流IO在java中和kotlin中使用率都是比较高的,场景很多。如Java的IO和NIO,再到我们现…

使用fastzdp_sqlmodel改造fastzdp_login中关于用户注册和用户登录的接口

原本的代码 user_router.post("/register/", summary"用户注册") def register_user(username: str Body(str, min_length2, max_length36),password: str Body(str, min_length6, max_length128),db: SASession Depends(get_db), ):# 检查用户名是否已…

家政服务管理系统小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,管理阿姨管理,家政公司管理,服务项目管理,家政预约管理,评价管理,留言板管理,系统管理 微信端账号功能包括…

【串口助手开发】添加保存数据功能,按钮按下保存接收区所有数据

1、功能描述 想要将串口助手接收区域内所有的内容保存下来 并且通过按钮,按下后,跳出一个弹窗,显示保存路径,并且保存txt文件 按下按钮,保存txt数据文件。 2、代码讲解 定义一个全局变量,接收所有的数…