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

JavaScript初级——基础知识

一、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初级知识的学习。

相关文章:

JavaScript初级——基础知识

一、JS的HelloWord 1、JS的代码需要编写到script标签中 2、JS的执行是根据语句从上到下一次执行的。 二、JS的编写位置 1、可以将js代码编写到标签的onclick属性中,当我们点击按钮时,js代码才会执行。 2、可以将js代码写在超链接的href属性中&#xff0…...

0817(持久层框架:JDBC,MyBatis)

三层架构(表现层,业务层,持久层) java中框架的概述(表现层、业务层、持久层的关系)_控制层业务层持久层的关系-CSDN博客 框架:框架一般处在低层应用平台(如J2EE)和高层…...

在亚马逊云科技上安全、合规地创建AI大模型训练基础设施并开发AI应用服务

项目简介: 小李哥将继续每天介绍一个基于亚马逊云科技AWS云计算平台的全球前沿AI技术解决方案,帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS AI最佳实践,并应用到自己的日常工作里。 本次介绍的是如何在亚马逊云科技利用Servi…...

无人机模拟训练室技术详解

无人机模拟训练室作为现代无人机技术培训的重要组成部分,集成了高精度模拟技术、先进的数据处理能力及高度交互的操作界面,为无人机操作员提供了一个安全、高效、接近实战的训练环境。以下是对无人机模拟训练室技术的详细解析,涵盖系统基础概…...

【Spring框架】

一、引言二、Spring核心概念三、Spring入门示例四、进一步了解Spring的依赖注入五、Spring的面向切面编程(AOP)六、总结 一、引言 Spring框架自2003年发布以来,凭借其轻量级、易于扩展的特性,在Java企业级应用开发领域得到了广泛…...

uniapp 日常业务 随便写写 源码

现成的组件 直接用 <template><view style"margin: 10rpx;"><view class"tea-header"><text class"tea-title">礼尚往来</text><view class"tea-view-all"><text>查看全部</text>&l…...

【软件测试】单元测试20套练习题

&#xff08;一&#xff09;概述 使用Java语言编写应用程序&#xff0c;设计测试数据&#xff0c;完成指定要求的白盒测试&#xff0c;对测试数据及相应测试结果进行界面截图&#xff0c;将代码以及相关截图粘贴到白盒测试报告中。 &#xff08;二&#xff09;题目要求...

8.16 day bug

bug1 题目没看仔细 额外知识 在 Bash shell 中&#xff0c;! 符号用于历史扩展功能。当你在命令行中输入 ! 后跟一些文本时&#xff0c;Bash 会尝试从你的命令历史中查找与该文本相匹配的命令。这是一种快速重用之前执行过的命令的方法。 如何使用历史扩展 基本用法: !strin…...

《Nginx核心技术》第11章:实现MySQL数据库的负载均衡

作者&#xff1a;冰河 星球&#xff1a;http://m6z.cn/6aeFbs 博客&#xff1a;https://binghe.gitcode.host 文章汇总&#xff1a;https://binghe.gitcode.host/md/all/all.html 星球项目地址&#xff1a;https://binghe.gitcode.host/md/zsxq/introduce.html 沉淀&#xff0c…...

使用 Gnosis Safe 创建多签名钱包

创建多签名钱包可以通过多个步骤完成,具体取决于你使用的平台或工具。下面我将介绍使用 Gnosis Safe 创建多签名钱包的过程,因为它是目前以太坊生态中最受欢迎且功能强大的多签名钱包之一。 目录 使用 Gnosis Safe 创建多签名钱包1. 准备工作2. 访问 Gnosis Safe3. 创建多签名…...

LeetCode 算法:前 K 个高频元素 c++

原题链接&#x1f517;&#xff1a;前 K 个高频元素 难度&#xff1a;中等⭐️⭐️ 题目 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2] 示例 2…...

MySQL的SQL语句更新某个字段的值在原来值的基础上随机增加100~600

要在 MySQL 中更新某个字段的值&#xff0c;使其在原有值的基础上随机增加一个 100 到 600 之间的值&#xff0c;你可以使用 RAND() 函数来生成随机数&#xff0c;并结合其他 SQL 函数进行计算。以下是一个 SQL 更新语句的示例&#xff1a; UPDATE your_table_name SET your…...

LeetCode --- 410周赛

题目列表 3248. 矩阵中的蛇 3249. 统计好节点的数目 3250. 单调数组对的数目 I 3251. 单调数组对的数目 II 一、矩阵中的蛇 只要按照题目要求模拟即可&#xff0c;代码如下 class Solution { public:int finalPositionOfSnake(int n, vector<string>& commands…...

最佳的iPhone解锁软件和应用程序

在探讨最佳的iPhone解锁软件和应用程序时&#xff0c;我们需要考虑多个方面&#xff0c;包括软件的解锁能力、易用性、安全性、兼容性以及用户评价等。以下是对当前市场上几款优秀iPhone解锁软件和应用程序的详细分析&#xff0c;旨在为用户提供全面而深入的指导。 一、奇客iO…...

初等函数和它的表达式

常量函数&#xff0c;幂函数&#xff0c;指数函数&#xff0c;对数函数&#xff0c;三角函数和反三角函数成为基本初等函数。基本初等函数经过有限四则运算和符合运算得到的函数称为初等函数。 1. 常量函数 表达式&#xff1a; &#xff08;其中 c 是常数&#xff09;参数的意…...

Android 12系统源码_多屏幕(二)模拟辅助设备功能开关实现原理

前言 上一篇我们通过为Android系统开启模拟辅助设备功能开关&#xff0c;最终实现了将一个Activity显示到多个屏幕的效果。 本篇文章我们具体来分析一下当我们开启模拟辅助设备功能开关的时候&#xff0c;Android系统做了什么哪些操作。 一、模拟辅助设备功能开关应用位置 …...

【Go语言初探】(二)、项目文件结构和GOPATH设置

一、go语言项目文件结构 由go/bin、go/src和go/pkg三个子文件夹组成&#xff0c;见下图&#xff1a; 实际项目&#xff1a; 二、gopath路径变量设置 在项目中创建main.go文件后&#xff0c;IDE会提示设置GOPATH路径&#xff1a; 点击“configure GOPATH”&#xff0c;设置GOP…...

三种简单排序:插入排序、冒泡排序与选择排序 【算法 05】

三种简单排序&#xff1a;插入排序、冒泡排序与选择排序 在编程中&#xff0c;排序算法是基础且重要的知识点。虽然在实际开发中&#xff0c;我们可能会直接使用标准库中的排序函数&#xff08;如C的std::sort&#xff09;&#xff0c;但了解并实现这些基础排序算法对于理解算法…...

Python -- GUI图形界面编程—GUI编程实例 博主也在持续学习中[ 持续更新中!!! 欢迎白嫖 也求粉啊啊啊~ ]

本文介绍了GUI的图形界面编程&#xff08;相关视频是哔站上的应该搜这个题目就能找到&#xff09;&#xff0c;文章还是很基础的&#xff0c;反正我是小白从0开始&#xff0c;主要的结构tinkter库、重要组件简介&#xff08;这个不用死记硬背 用的时候再说&#xff09;、Label&…...

Vue2和Vue3中的diff算法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、diff算法是什么&#xff1f;二、vue2中的diff算法三、vue3中的diff算法总结 前言 一、diff算法是什么&#xff1f; diff算法很早就存在了&#xff0c;一开…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

Python训练营-Day26-函数专题1:函数定义与参数

题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一个名为 calculate_circle_area 的函数&#xff0c;该函数接收圆的半径 radius 作为参数&#xff0c;并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求&#xff1a;函数接收一个位置参数 radi…...