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我们会称为(数字)字面量
案例练习
-
声明一个变量,用于存放用户购买的商品 数量 ( num ) 为 20 件
-
声明一个变量,用于存放用户的 姓名 ( uname ) 为 ’张三’
-
依次控制台打印输出两个变量
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)