Javascript的基础
Javascript的注释
// 1.单行注释
/* 2.多行注释 2.多行注释
*/
- vscode中单行注释 ctrl+/多行注释 默认为 shift+alt+a### Javascript输入输出语句

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
<script> //这是一个输入框 prompt('请输入您的年龄');//弹出警示框alert('计算的结果是');//console 控制台输出,给程序员看的console.log('我是程序员能看到的'); </script>
</head>



变量
定义
变量是存放数据的容器,我们可以通过变量名获取数据甚至修改(装东西的盒子)
- 本质:变量是程序在内存中申请的一块存放数据的空间
使用
声明变量
// 变量声明
var age; //声明一个名称为age的变量
- var是一个JS的关键字,用来声明变量(variable是变量的意思)。使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员管
- age是程序员定义的变量名,我们要通过变量名来访问内存中分配的空间
赋值
age = 18; //给age这个变量赋值为18
- = 用来把右边的值赋给左边的变量空间去,此处代表赋值的意思
- 变量值是程序员保存到变量空间里的值
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
<script> var age;age = 18;console.log(age); </script>
</head>

变量的初始化
var age = 18; //声明变量的同时赋值
- 声明一个变量并赋值,我们称之为变量的初始化
示例
- 弹出一个输入框,提示用户输入姓名
- 弹出一个对话框,输出刚才用户输入的姓名
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
<script> //1.用户输入姓名,存储到name变量里var name = prompt('请输入姓名');//2.输出这个用户名alert('您的姓名是'+name); </script>
</head>
语法拓展
更新变量
一个变量被重新赋值后,原有的值就会被覆盖,变量将以最后一次赋的值为准
同时声明多个变量
var age = 18,name = mzmm403,sex = 1;
- 变量后面加,最后一个变量后面加;
声明变量的特殊情况

// 只声明不赋值,因为程序也不知道里面存的是什么,所以结果是undefined(未定义的)
var sex;
console.log(sex); //undefined
// 不声明不赋值,直接使用某个变量会报错
console.log(name);
//不声明直接赋值可以直接使用,但不推荐,因为会变成全局变量
qq = 110;
console.log(qq);
命名规范
- 有字母(A-Za-z)、数字(0-9)、下划线(_)、美元符号($)组成
- 严格区分大小写。var app和var App是两个变量
- 不能以数字开头。
- 不能是关键字、保留字
- 变量名必须有意义
- 遵守驼峰命名法,首字母小写,后面单词的首字母须大写,myFristName
数据类型
简介
为什么要有数据类型
在计算机中,不同的数据所需占用的空间是不同的,为了方便于把数据分析成所需要内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型
变量的数据类型
Javascript是一种弱类型或者说是动态语言,这就意味着不用提前声明变量的类型
js的变量数据类型是只有程序运行过程中,根据等号右边的值来确定的
数据类型的分类
- 简单数据类型(Number,String,Boolean,Undefined,Null)
- 复杂数据类型(object)
简单数据类型
简单数据类型 | 说明 | 默认值 |
---|---|---|
Number | 数字型,包含整数值和浮点数值 | 0 |
Boolean | 布尔值类型,如ture、flase,等价于1和0 | false |
String | 字符串类型,如“张三”,注意js中字符串都带引号 | “” |
Undefined | var a; 声明了变量a但是没有给值,此时a = undefined | unfinished |
Null | var a = null;声明了变量a为空值 | null |
数字型
- Number.MAX_VALUE:最大值Number.MIN_VALUE:最小值* Infinity:无穷大,大于任何值* -Infinity:无穷小,小于任何值* NaN,Not a number,代表一个非数值* isNaN():这个方法判断非数字,并且返回一个值,如果是数字,返回false,非数字返回true#### 字符串型
字符串型可以是引号中的任意文本,其语法为双引号""和单引号’',这里的js推荐使用单引号
字符串转义符
转义符 | 解释说明 |
---|---|
\n | 换行符,n是newline的意思 |
\\ | 斜杠 \ |
\' | ’ 单引号 |
\" | " 双引号 |
\t | tab 缩进 |
\b | 空格,b是blank的意思 |
检测字符串的长度及拼接
获取字符串的长度length
var str = "mzmm403";
alert(str.length);//显示7
字符串的拼接
console.log('mzmm'+'403'); //输出mzmm403
- 什么都能拼接(包括变量)
console.log('mzmm'+403); //输出mzmm403
console.log('mzmm'+ ture); //输出mzmmtrue
- 注意
console.log(12 + 12); //输出24
console.log('12'+ 12); //输出1212
- 所以凡是只要是字符串和其他拼接输出的都是字符串类型
其他类型
布尔类型
console.log(true + 1); //2
console.log(false + 1); //1
Undefined和Null
- 声明一个变量未赋值就是Undefined(未定义数据类型)
console.log(undefined + 1); //NaN
// undefined 和数字相加最后是NaN
- null
console.log(null + 1);//1
//空值+1还是1
获取变量数据类型
typeof来检测数据类型
var num = 10;
console.log(typeof num); //number
字面量
字面量是在源代码中一个固定的表示方式,通俗来说,就是字面量表示如何表达这个值
- 数字字面量:8,9,10
- 字符串字面量:“mzmm403”
- 布尔字面量:true,false
数据类型的转换
使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗来说,就是把一种数据类型的变量转换为另一种数据类型
通常有3种凡是转换
- 转换为字符串类型
- 转换为数字型
- 转换为布尔类型
转换为字符串
方式 | 说明 | 案例 |
---|---|---|
toString() | 转成字符串 | var num = 1; alert(num.toString()); |
String()强制转换 | 转成字符串 | var num = 1; alert(String(num)); |
加号拼接字符串 | 和字符串拼接的结果都是字符串 | var num = 1; alert(num+“我是字符串”); |
- toString()和String()使用方式不一样
- 三种转换方式,我们更喜欢用第三种加号拼接字符串转换方式,这一种方式也称为隐式转换
转换为数字型
方式 | 说明 | 案例 |
---|---|---|
parselnt(string)函数 | 将string类型转成整数数值型 | parslnt(‘78’); |
parseFloat(string)函数 | 将string类型转成浮点数数值型 | parseFloat(‘3.14’); |
Number()强制转换函数 | 将string类型转换为数值型 | Number(‘12’); |
js隐式转换(- * /) | 利用算术运算隐式转换为数值型 | ‘12’ - 0 |
- parselnt可以去掉单位还可以取到浮点数的整数部分(注意去掉单位是我们只能把数字先放到前面,因为parseInt只能从前往后识别,识别第一个不为数字型则会返回NaN)* parselnt和parseFloat注意字母大小写> 转换成布尔型
方式 | 说明 | 案例 |
---|---|---|
Biilean()函数 | 其他类型转成布尔值 | Boolean(‘true’); |
- 代表空、否定的值会被转换为false,如’'、0、NaN、null、undefined
- 其余值都会被转换成true