学习目标:
- 理解JavaScript书写位置
- 理解什么是数据并知道数据的分类
- 理解JavaScript数据类型转换的特征
学习内容:
- JavaScript 介绍
- 变量
- 常量
- 数据类型
- 类型转换
JavaScript 介绍
- JavaScript : 是一门运行在客户端(浏览器)的编程语言,用于实现人机交互。
- JavaScript作用:1.网页特效 2.表单验证 3.数据交互
- JavaScript的组成:ECMAScript (ES) 规定了JS基础语法核心知识 WebAPIs (DOM BOM)操作文档,操作浏览器
JavaScript 书写位置
- 行内(写在标签内部
<div onclick="alert('点我触发单击事件')"></div>
) - 内部(直接写在结束上面,用
<script></script>
包住) - 外部(代码写在以.js结尾的文件,引入外部 js
<script src="***.js"></script>
)
JavaScript 注释
- 单行注释 //
- 多行块级注释 /* */
JavaScript 结束符
- 作用:使用英文的 ;代表语句结束
- 实际情况:实际开发中,可写可不写
- 约定:为了风格统一,结束符要么每句都写,要么每句都不写
JavaScript 输入输出语法
语法:人与计算机交互的规则约定
输出语法:
- document.write(“页面输出的内容”)
- alert(“提示框弹出的内容”);
- console.log(“控制台打印的内容”)
输入语法:
- prompt(“页面弹出输入框”)
- prompt(“用户进行输入的对话框”)
变量
介绍:变量就是一个用于存放数据的容器
变量的基本使用并赋值:
变量在声明的时候可以直接进行赋值
let 变量名 = 值;
let age = 18;
let name;
name = '张三';
console.log(age,name); //18 , 张三
变量的本质:
计算机中存储数据的地方,相当于一个空间,是程序在内存中申请的一块用来存放数据的小空间。
变量的命名规则和规范:
规则:
- 不能用关键字 JavaScript内置的一些英语词汇
- 只能用下划线、字母、数字、$组成,且不能用数字开头
- 字母严格区分大小写
规范:
- 起名要有意义
- 不能重复声明
- 遵守小驼峰命名法 (第一个单词首字母小写,之后单词首字母大写 例如: userName,myFirstName)
JavaScript 数组(Array)
数组:可以使一个变量存储很多数据
声明语法:let 数组名 = [数据1,数据2,……,数据n].
let students = ['张三','李四','王五','赵六'];
在数组中,每个数组都有自己的下标,称为索引(下标),下标从0开始;
<!-- 数组下标的索引值默认从0开始 -->
例如:
let students = ['张三','李四','王五','赵六'];
console.log(students[0]) => 张三
console.log(students[2]) => 王五
案例:
定义一个数组,里面存放星期一、星期二…… 直到星期日(共7天),在控制台输出:星期日。
let days = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'];
console.log(days[6]);
console.log(days[days.length - 1]); //不管长度多少,永远拿最后一个
//控制台打印:星期日
常量
常量和变量一样,都是用来存放数据,也就是存到了内存中
常量:一旦存储后,不能被改变
概念:使用 const 声明的变量称为"常量"
// const 常量名 = 常量值;
// 常量必须有值
//使用 const 定义的常量,不能修改它的值,且定义的常量必须赋初值
const author = '张三';
console.log(张三); //张三
author = '李四';
console.log(author); //Assignment to constant variable(不能赋值给常量变量)
数据类型
数据类型分为 基本数据类型 和 引用数据类型
基本数据类型 | 基本数据类型 |
---|---|
number | 数字型 |
string | 字符串型 |
boolean | 布尔值 |
undefined | 未定义型 |
null | 空类型 |
一、数字型:Number
JavaScript 中的正数、负数、小数等 统一称为 数字类型
- 数值类型的数据可以用来做【加减乘除等】的运算
- 进行数学运算时,需要注意运算符号的【优先级】
- 先乘除后加减,谁想先运算,就给它加【括号】
- typeof 用于检测数据类型
let age = 18; //整数
let price = 12.345; //小数
let num = -10; //负数
console.log(typeof num);
//控制台输出 number
let num = 10;
num + 10; //加法运算 20
num - 5; //减法运算 5
num * 10; //乘法运算 100
num / 5; //除法运算 2
// % 取余 计算某个数是否能被整除
num % 2; //余0,所以结果为0
num % 3; //余1,所以结果为1
//NaN 是 Not a Number 的缩写
//计算机无法进行数学运算时会给一个错误,即为NaN
--------------------------------------------------
let name = '小明'
console.log(name - 1);
//控制台输出 NaN 它会给出一个NaN的结果,但是不会报错
--------------------------------------------------
let age = NaN;
console.log(age - 10);
//控制台输出 NaN NaN与任何一个数字进行运算,结果都为NaN
--------------------------------------------------
二、字符串类型: String
- 引号不能省略
- 只有被引号引起来的内容才能叫做字符串
- 如果没有使用引用符引起来,那么它可能是变量
定义字符串:通过单引号,双引号,反引号包裹的数据都是字符串
let name = '小明' //单引号字符串
let gender = "男" //双引号字符串
let goods = `小米` //反引号字符串
let phone = '185XXXXXXXX' //看似是数组,其实是单引号字符串
let str = '' //空字符串
console.log(typeof name);
//控制台输出 string
字符串的运算
- 字符串的运算比较简单,主要就是用于【拼接】
- 使用 + 号进行拼接,+ 号有两种用途
- 用于数学运算,表示两个数字求和
- 用于字符串拼接,能够将两段字符串连接起来
let str1 = 'Java';
let str2 = 'Script';
let result = str1 + str2;
console.log(result);
//控制台输出 JavaScript
-------------------------------------------------------------------------------
let str1 = 'JavaScript';
console.log(str + 2022);
//控制台输出 JavaScript2022 "+"左右两边只有出现一个字符串,那么"+"表示的含义为拼接
-------------------------------------------------------------------------------
let num = '1' + 10 + 5;
console.log(num);
>>过程:'1' + 10 = '110', '110' + 5 = '1105';
//控制台输出 1105 只要是使用了单引或者双引 那么一定是字符串
模板字符串
- 当字符串需要拼接的时候,用模板字符串更好操作
- 不进行拼接的时候,模板字符串与单引,双引没有区别
const name = '张三'
const age = 20
console.info(`大家好,我叫${name},今年${age}岁了`)
// 等价于
console.info('大家好,我叫' + name + ',今年' + age + '岁了')
三、布尔类型: Boolean
- Boolean类型 只有两个值:True 和 False
let isCool = true;
isCool = false;
console.log(isCool);
console.log(typeof isCool);
// 控制台输出 False Boolean
// 先定义了iscool是true,后面把false赋值给了isCool,所以打印的是false
四、未定义类型: Undefined
- 一个 变量的类型 取决于 变量的值
let abc;
console.log(abc);
// 控制台输出 undefined
// 未赋值就使用,就会成为 undefined
五、空类型: Null
- 一般在定义一个数据时,这个数据将来要存对象类型时,我们会先将这个初始值设为 null
console.log(typeof null);
// 控制台输出 object
// 在定义null的时候,会意为空值,只是代表没有数据,所以检测null数据类型为空对象无数据
数据转换:
隐式转换(某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换)
规则:
- + 号两边只要有一个是字符串,都会把另外一个转成字符串
- 除了+以外的算术运算符 比如 - * / 等都会把数据转成数字类型
技巧:
- + 号作为正号解析可以转换成数字型
- 任何数据和字符串相加结果都是字符串
显示转换(为了避免因隐式转换带来的问题,通常根逻辑需要对数据进行显示转换)
-
转换为数字型:
Number(数据)
parseInt(数据) 只保留整数
parseFloat(数据) 可以保留小数 >> 转换为数字类型
>>如果字符串内容里有非数字,转换失败结果为 NaN
>>NaN 也是number类型的数据,代表非数字
- 如果是想把字符串中开头的【整数部分】提取出来,请使用【parseInt】
- 如果单纯只是提取【字符串开头部分的数字】,请使用【parseFloat】
- 如果是【纯数字形式的字符串】,如’100’,则使用【Number】