【蓝桥杯JavaScript基础入门】一、JavaScript基础

关于JavaScript

JavaScript 是一种高级的解释型语言,基于原型、函数先行,是一门多范式的语言。它支持面向对象编程、命令式编程和函数式编程,提供语法来操控文本、数组等,不支持 I/O,比如网络、存储和图形等(这些都可以由它的宿主环境提供支持)。

它被世界上的绝大多数网站所使用,也被世界主流浏览器支持。

JavaScript 的语言设计主要受到了 Self 和 Scheme的影响,语法结构上又与 C 语言有很多相似。随着最新的 HTML5 和 CSS3 语言标准的推行,它还可用于游戏、桌面和移动应用程序的开发和在服务器端网络环境运行,如 Node.js。

组成

  • **ECMAScript:**语法标准。
  • **DOM:**操作网页上的元素的 API。
  • **BOM:**操作浏览器的部分功能的 API

特点

  • 可以使用任何文本编辑工具编写,使用浏览器就可以执行
  • 代码不进行预编译,从上往下逐行执行,不需要进行严格的变量声明
  • 主要用来为HTML 页面添加交互行为

每次实验都需要新建一个test.html文件,然后在这个文件上开展后续实验:

html 复制代码
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body></body>
</html>

JavaScript包含在<script><script>标签里,放head标签或body标签都行,结果没什么区别,也可以通过外部引入(页面复杂时便于维护)。

变量

数据都存在内存中,变量就是一个用于存放数值的容器。每个变量存放的数值是可变的,都占有一段内存。

JS使用var关键字声明变量:

javascript 复制代码
var name = "yourname";

JS变量命名规则

1.变量名必须以字母, _, $ 开头。

2.变量可以包含字母,数字,_和$。

3.不能使用关键字做为变量名。

4.变量名不能有空格。

5.变量名对大小写敏感。

类型

Number

String

Boolean

Array

Object

动态类型

// 单行注释;/* 多行注释 */

数字与运算符

JS中不管什么数字用var声明就行,运算符和运算顺序和其它语言类似。

数组

两种语法创建数组:

javascript 复制代码
var array1 = new Array(1, 2, 3);

var array2 = [1, 2, 3];

多维数组:

javascript 复制代码
var array0 = [[1, 2, 3], [4, 5, 6]];

要修改数组直接为要修改的元素提供新值,使用array.length获取数组长度。

数组和字符串间转换

split()可以分割字符串,使其转化为对应数组;join()可以连接数组为字符串。

添加 / 删除数组中的元素

push() -在数组末尾添加元素

pop() -删除并返回数组最后一个元素(数组为空时返回Undefined)

Null & Undefined

undefined 表示所有未赋值变量的默认值, null 表示一个变量不指向任何对象地址。

字符串

toString()和Number()可以实现字符串(都是数字)和数字相互转换,字符串可以使用+连接,使用string.length函数获取长度。

使用indexOf()判断指定字符串从指定下标(未指定则默认为0)开始是否包含某字符串:

javascript 复制代码
string.indexOf(shortStr, startIndex);

可以使用slice(start, end)提取某字符串的子字符串(左闭右开),使用toLowerCase()和toUpperCase()转换大小写,使用replace()来替换字符串内容(只替换首次出现的匹配项)。

转换

转换成字符串

toString()方法;String()方法;拼接字符串。

转换成数值

Number(),不是数值返回NaN;parseInt(),parseFloat()把字符串转为整数、浮点数;减0操作(如果字符串不是数值,类型变成number,返回NaN).

转换成布尔类型

Boolean()函数;在流式控制语句中的隐式转换。

相关推荐
索木木14 小时前
ShortCut MoE模型分析
前端·html
码界筑梦坊14 小时前
94-基于Python的商品物流数据可视化分析系统
开发语言·python·mysql·信息可视化·数据分析·毕业设计·fastapi
MXN_小南学前端14 小时前
Vue3 + Spring Boot 工单系统实战:用户反馈和客服处理的完整闭环(提供gitHub仓库地址)
前端·javascript·spring boot·后端·开源·github
轮子大叔14 小时前
CSS基础入门
前端·css
踩着两条虫14 小时前
强强联合!VTJ.PRO 正式接入 DeepSeek V4,AI 编码能力再跃升
前端·vue.js·ai编程
Lily.C15 小时前
DOMPurify 前端富文本 XSS 防护使用指南
前端
一叶渡江15 小时前
深挖 iOS 16 以下 flex column-reverse 滚动失效问题
前端
众创岛15 小时前
回调函数、闭包概念、场景及python实战
前端
im_AMBER15 小时前
Leetcode 160 最小覆盖子串 | 串联所有单词的子串
开发语言·javascript·数据结构·算法·leetcode
得想办法娶到那个女人15 小时前
项目中 TypeScript 类型推导 极简实战总结
前端·javascript·typescript