【蓝桥杯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()函数;在流式控制语句中的隐式转换。

相关推荐
梦想的旅途22 分钟前
企业微信消息回调开发指南:如何实时接收并处理企微消息?
前端·机器人·自动化·企业微信
何中应3 分钟前
CentOS7安装高版本Node.js
前端·centos·node.js
じ星不离月か4 分钟前
【记录】 跑马灯无限滚动
前端·css·跑马灯·无限滚动
周淳APP4 分钟前
【HTTP1、HTTP2、HTTP3】
前端·网络·网络协议·http
路弥行至4 分钟前
linux运行脚本出现错误信息 /bin/bash^M: bad interpreter解决方法
linux·运维·开发语言·经验分享·笔记·其他·bash
一直不明飞行5 分钟前
C++ pari使用的两个注意事项
开发语言·c++
夫唯不争,故无尤也8 分钟前
原始文档元数据metadata
java·前端·javascript·sql
wefly20179 分钟前
无需安装的 M3U8 在线播放器,快速实现 HLS 流预览与调试
java·开发语言·python·开发工具
飞Link9 分钟前
深度解析:建模动作序列(Action Sequence Modeling)的实战指南
开发语言·python·数据挖掘
CoderCodingNo9 分钟前
【GESP】C++六级/五级练习题 luogu-P1323 删数问题
开发语言·c++·算法