老己的JavaScript基础笔记1

27 阅读3分钟

JavaScript基础知识笔记 第一天

一、JavaScript

1.JavaScript结构

JavaScript由ECMAScript和Web APIs组成,其中ECMAScript为JavaScript基础核心语法,而Web APIs则由BOM(浏览器对象模型)和DOM(页面文档对象模型)组成。

2.输入输出语句

输出

#会直接输出显示在body里面,即文档页面以内如果是标签,会直接以标签元素在页面显示

document.write('你所要填写的内容')

#此会直接在页面弹出警告框:

alert('警告!')

#在控制台中显示,主要用于开发者用来调试:

console.log'abaaba'

案例练习:

浏览器中弹出对话框: 你好 JS~

页面中打印输出: JavaScript 我来了!

页面控制台输出: 它会魔法吧

alert('你好 JS')
document.write('JavaScript 我来了!')
console.log('它~会魔法吧~')
输入

#弹出信息,并带有输入框

prompt('请输入你的姓名:')

二、变量

1.基本概念理解:

变量就是用来存放数据的一个盒子或者空间。

2.本质:

就是我们所运行的程序在内存的一个空间,用来存放数据。

3.声明与赋值:

声明关键字+变量名(标识符)

let a

let a
a=1

与下面一样

let a=1

以上称为变量初始化

其中1我们会称为(数字)字面量

案例练习

  1. 声明一个变量,用于存放用户购买的商品 数量 ( num ) 为 20 件

  2. 声明一个变量,用于存放用户的 姓名 ( uname ) 为 ’张三’

  3. 依次控制台打印输出两个变量

let num=20
let uname='张三'
console.log(num)
console.log(uname)

4.变量声明

let无法多次重复声明一个变量,可以多次赋值

同时声明多个变量,只用一个关键字,多个变量中间用逗号隔开(不提倡,可读性差)

eg: √

let a=1
a=2

×

let a=1
let a=1

var可以重复多次声明,可以先使用后声明,其中涉及其变量提升,会存在问题,不推荐使用。

案例练习

需求: 浏览器中弹出对话框: 请输入姓名, 页面中输出:刚才输入的姓名

①:输入:用户输入框:prompt()

②:内部处理:保存数据

③:输出: 页面打印document.write()

let uname=prompt('请输入姓名')
document.write(uname)

案例练习

需求:

有2个变量: num1 里面放的是 10, num2 里面放的是20

最后变为 num1 里面放的是 20 , num2 里面放的是 10

let num1=10
let num2=20
let temp=num1
num1=num2
num2=temp

5.变量名的命名

规则:

不能与关键字重复

只能使用下划线、字母、数字、$,数字不能开头

严格区分大小写

规范命名,使用大小驼峰命名法,eg:userName

案例练习

需求:让用户输入自己的名字、年龄、性别,再输出到网页

①:弹出 输入 框(prompt): 请输入您的姓名 (uname): 用变量保存起来。

②:弹出输入框(prompt) : 请输入您的年龄 (age): 用变量保存起来。

③:弹出输入框(prompt) : 请输入您的性别(gender): 用变量保存起来。

④:页面分别 输出 (document.write) 刚才的 3 个变量。

let uname=prompt('请输入您的姓名')
let age=prompt('请输入您的年龄')
let gender=prompt('请输入您的性别')
document.write(uname)
document.write(age)
document.write(gender)

补充:

var是能够重复声明,重复赋值的关键字

let无法重复声明,但允许重复赋值

const不允许重复声明或赋值,一般将const的变量称作常量

变量拓展-数组

本质:

一组数据可以存储在单个变量名内。

let arr=[]

声明关键字+变量名=数组字面量

声明语法
let names=[xxx,xxx,xxx]

数组中的编号称为索引或下标

数组编号从0开始

数组可以存储任意类型的数据

数组保存的单个数据都叫做数据元素

数组长度可通过length属性获取

取值语法
names[0]

数组名[下标]

案例练习

需求:定义一个数组,里面存放星期一、星期二…… 直到星期日(共7天),在控制台输出:星期日

let days=['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
console.log(days[6])

三、常量

常量的基本使用

使用const声明的变量称为“常量”

const不允许重复声明或赋值,声明的时候必须赋值(初始化)。

四、数据类型

1.数据类型

分为两大类:

基本数据类型:number数字型、string字符串型、boolean布尔型、undefined未定义型、null空类型

引用数据类型:object对象(后面会专门研究)

number数字型

不展开

NaN代表一个计算错误。它是一个不正确的或者一个未定义的数学操作所得到的结果。

NaN是粘性的。任何对NaN的操作都只会返回NaN

string字符串型

有单引号或双引号包裹的数据就叫字符串。

'+'——数字相加,字符相连。

模板字符串

使用(``)反引号包裹,使用${}包裹变量,可将其调用。

document.write(`我今年${age}岁。`)
boolean布尔型

true(真)/false(假)

undefined未定义型
null空类型

undefined表示没有赋值,null表示赋值了,但内容为空。

2.检测数据类型

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

console.log(typeof age)

五、类型转换

1.隐式转换

系统自己自动转换的数据类型,称为隐式转换。

+左右两边只要有一个字符串,就会把另外一个转换为字符串。

+作为正号解析可以转换成数字型

+任何数据和字符串相加结果都是字符串

2.显示转换

自己写代码来转换类型。

转换成数字型:

1.Number(...)

NaN是Number类型的数据,代表非数字

如果字符串内容有非数字,转换失败时结果为NaN

2.parseInt(...)

只保留整数

3.parseFloat(...)

可以保留小数部分

转换成字符型:

1.string(...)

2.变量.toString(进制)

案例练习

输入2个数,计算两者的和,打印到页面中

let num1=+prompt('请输入第一个数:')
let num2=+prompt('请输入第二个数:')
document.write(num1+num2)