Javascript笔记

# JavaScript基础

易错合集:

1. 如果一个需要接受布尔值的属性添加了  ‘true’ 的值,也会代表true,因为空字符串才是false   比如ipt.checked=‘true’  会有默认的隐式转换

1.了解JavaScript

1. JavaScript是什么? 

 JavaScript 是一种运行在客户端(浏览器)的编程语言 

2. JavaScript组成是什么? 

 ECMAScript( 基础语法 )、web APIs (DOM、BOM)

2.js的书写顺序

1.内嵌式

内嵌式:直接在html页面中创建script标签来书写js代码

​        注意点:

​            建议把script放在页面尾部,能够正确获取页面标签

​            浏览器解析标签是按照自上而下的顺序,script放在底部能够提高页面加载效率

2.外链式

单独创建.js后缀文件来书写js代码,html通过script标签的src属性引入该文件

注意点

 用于引入外联文件的script标签,中间不可以书写代码因为不会被执行

 外部js文件更好管理和维护,是开发中主要使用的方式

3.行内式

 行内式:在标签上直接写事件名和js代码

```html
 <div οnclick="alert('你点我干嘛!')">点我看看</div>
```

3.JS的注释

- 单行注释

​          符号://

​          作用://右边这一行的代码会被忽略

​          快捷键:ctrl + /

- 块注释

​          符号:/* */

​          作用:在/* 和 */ 之间的所有内容都会被忽略

​          快捷键:shift + alt + A

4.JavaScript输入输出语法

1.输出

 语法1:

​           document.write('要输出的内容')

​          作用:向body内输出内容

​          注意:如果输出的内容写的是标签,也会被解析成网页元素
  

document.write('hello world')
document.write('<h1>我是h1标题</h1>')

语法2:

​           alert(' ')

​          作用:页面弹出警告对话框

语法3:

​           console.log(' ')

​          作用:控制台输出语法,程序员调试使用

2.输入

 语法:

​          prompt('请输入您的姓名')

​          作用:显示一个对话框,对话框中包含一条文字信息,用来提示用户输入文字

**JavaScript 代码执行顺序:** 

按HTML文档流顺序执行JavaScript代码 

alert() 和 prompt() 它们会跳过页面渲染先被执行(同步异步知识点)

5.字面量

目标:能说出什么是字面量 

在计算机科学中,字面量(literal)是在计算机中描述 事/物 

可以表示一个固定值的表示法

当给变量赋值时,等号右边都可以认为是字面量

比如: 

​    我们工资是: 1000 此时 1000 就是 数字字面量 

​    '哈哈哈哈哈' 字符串字面量 

​    还有 [] 数组字面量 {} 对象字面量  true false等等

6.变量

目标:理解变量是计算机存储数据的“容器”

1.变量

​        白话:变量就是一个装东西的盒子。 

​        通俗:变量是计算机中用来**存储数据**的“容器”,它可以让计算机变得有记忆。 

​        注意:**变量不是数据本身,它们仅仅是一个用于存储数值的容器。可以理解为是一个个用来装东西的纸箱子。**

2.变量的基本使用

2-1 变量的声明

**1. 声明变量:** 

​        要想使用变量,首先需要创建变量(也称为声明变量或者定义变量) 

**语法:**

```
let 变量名
```

- 声明变量有两部分构成:声明关键字、变量名(标识) 
- let 即关键字 (let: 允许、许可、让、要),所谓关键字是系统提供的专门用来声明(定义)变量的词语 

**举例:** 

​    我们声明了一个age变量 

​    age 即变量的名称,也叫标识符

2-2 变量的赋值

1.定义了一个变量后,你就能够初始化它(赋值)。在变量名之后跟上一个“=”,然后是数值。 

```javascript
方式一:
    // 1.声明变量
    let age
    // 2.使用赋值号(=)给变量赋值
    age = 18
方式二:
    // 声明的同时赋值
    let age = 18
方式三:
    //声明多个变量 了解
    let year = 20, money = 50
    console.log(year)
    console.log(money)
```

注意:是通过变量名来获得变量里面的数据

1.变量赋值

简单点,也可以声明变量的时候直接完成赋值操作,这种操作也称为 变量**初始化**

2.变量更新

变量的含义:可变的量,标识符不变,值可以更改

变量的更新:

- 为一个已有值的变量重新赋值,即可更新变量
- 已声明的变量不能重复声明,否则会报错

注意: let 不允许多次声明一个变量

2-3 变量的本质

**内存:**计算机中存储数据的地方,相当于一个空间 

**变量本质:**是程序在内存中申请的一块用来存放数据的小空间

2-4 变量命名规则与规范

**1. 规则:** 

​    不能用关键字 

​    关键字:有特殊含义的字符,JavaScript 内置的一些英语词汇。例如:let、var、if、for等 

​    只能用下划线、字母、数字、$组成,且数字不能开头 

​    字母严格区分大小写,如 Age 和 age 是不同的变量 

**2. 规范:** 

​    起名要有意义 

​    遵守小驼峰命名法 

​    第一个单词首字母小写,后面每个单词首字母大写。例:userName

3.拓展-变量let 和 变量var 的区别

- 在较旧的JavaScript,使用关键字 var 来声明变量 ,而不是 let。 
- var 现在开发中一般不再使用它,只是我们可能再老版程序中看到它。 
- let 为了解决 var 的一些问题。 

var 声明: 

1. 可以先使用 在声明 (不合理) 
2. var 声明过的变量可以重复声明(不合理) 
3. 比如变量提升、全局变量、没有块级作用域等等

3-1 let和var的共同点

1. 允许声明和赋值同时进行
2. 允许同时声明多个变量并赋值

3-2 let和var的不同点

1. let不允许重复声明,而var可以
2. let遵循先声明后使用,而var可以先使用后声明(存在变量提升的问题)
3. let拥有块级作用域、而var没有块级作用域(了解,后面讲解)

**注意点:**

​    大部分情况下使用‘let’和‘var’区别不大,但是‘let’是新版本中出现用于替换‘var’的,相较严谨,因此推荐使用

### 7.变量拓展-数组

数组 (Array) —— 一种将 **一组数据存储在单个变量名下** 的优雅方式

```
let arr = []
let 变量=数组字面量
```

1.数组的基本使用

目标:能够声明数组并且能够获取里面的数据

​    **1. 声明语法** 

```
let 数组名 = [数据1, 数据2, ···, 数据n]
```

​    例 

```
let names = ['晓明','小红','小兰','小刘']
```

- 数组是按顺序保存,所以每个数据都有自己的编号 
- 计算机中的编号从0开始,所以小明的编号为0,小刚编号为1,以此类推 
- 在数组中,数据的编号也叫**索引或下标** 
- 数组可以存储任意类型的数据

```
consol.log(names[0])
```

2.使用:

```
数组名[索引]

```

**扩展:**

- 名词元素:数组中的每一项数据也称为数组的“元素”
- 数组长度:通过 数组名.length  方式可以获取到当前数组的长度(有多少个元素长度就有多少个)

### 8.常量

概念:使用 const 声明的变量称为“常量”。

使用场景:当某个变量永远**不会改变**的时候,就可以使用 const 来声明,而不是let。

命名规范:和变量一致

```javascript
const PI = 3.14

```

> 注意: 
>
> - 常量不允许重新赋值
> - 常量声明的时候必须赋值(初始化)

9.数据类型

> 计算机世界中的万事成物都是数据。

**JS 数据类型整体分为两大类:** 

1. 基本数据类型 
   - number 数值型
   - string 字符串型
   - boolean 布尔型
   - underfined 未定义型
   - null 空类型
   - symbol??
2. 引用数据类型
   - array 数组
   - function 函数
   - Object 对象

计算机程序可以处理大量的数据,为了方便数据的管理,将数据分成了不同的类型:

注:通过 typeof 关键字检测数据类型

```html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JavaScript 基础 - 数据类型</title>
</head>
<body>
  
  <script> 
    // 检测 1 是什么类型数据,结果为 number
    document.write(typeof 1)
  </script>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值