文章目录
1. 认识javascript
- js是脚本语言:不需要编译,运行过程中由js解释器( js引擎 )逐行来进行解释并执行,注意:浏览器本身并不会执行JS代码,而是通过内置 JavaScript 引擎(解释器)来执行 js 代码
- js最初是用来做表单动态校验(密码强度检测)
- js的组成
- ECMAScript:js基础语法
- DOM:页面文档对象
- BOM:浏览器对象
2. js三种引入方式
-
行内
<!-- HTML文件 --> <button onclick="alert('hello world')"> 按钮 </button>
-
内嵌
<!-- HTML文件 --> <script> alert("hello world") </script>
-
外部
// js文件 alert("hello world")
<!-- HTML文件 --> <script src="js文件路径"></script>
注意:内嵌和外部不能一起书写,如果写了只有外部有效果
3. js输入输出语句
- prompt(info):浏览器弹出输入框,并且会返回输入内容,prompt中输入的数字默认会转为字符串
- console.log():浏览器控制台打印信息
- alert():浏览器弹出警示框,alert默认会自调用toString()方法
4. 变量
4.1 什么是变量
- 变量可以存储数据,也可以通过变量名来获取数据
4.2 变量的使用
// 1.变量声明并赋值( = 是赋值,将右边的数据赋值给 = 左边)(也叫变量初始化)
// 声明 变量名 = 数据
var num = 10
// 2.变量先声明后赋值
// 声明 变量名
var num
// 变量赋值
num = 10
// 3.变量只声明未赋值
var num // num undefined
// 4.变量没有声明,直接赋值(不会报错,但是不建议这样写)
// 变量名 = 数据
num = 10
// 5.一次声明多个变量(逗号隔开)
var num1 = 10, num2, num3 = 20, num4
// num1 10
// num2 undefined
// num3 20
// num4 undefined
// 6.变量的更新
var num = 10
num = 20 // num 20
4.3 变量命名规范
- 由字母(A-Z、a-z)、数字(0-9)、下划线(_)、美元符号( $ )组成,如:usrAge, num01, _name
- 严格区分大小写。var app; 和 var App; 是两个变量
- 不能以数字开头。18age是错误的
- 不能是关键字、保留字。例如:var、for、while
- 变量名必须有意义。 MMD、BBD、nl → age
- 遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。 myFirstName
- 推荐翻译网站:有道、爱词霸、火山翻译、谷歌翻译
5. 基本数据类型
基本数据类型 | 说明 | 默认值 |
---|---|---|
Number | 数字型,包含整型和浮点型,如21、0.21 | 0 |
Boolean | 布尔值类型,true和false,等价于1 和 0 | false |
String | 字符串类型,如 “张三” | “” 或 ‘’ |
Undefined | 声明为赋值,var a;表示未定义 | undefined |
Null | 空值,var a = null,表示定义了但是为空 | null |
5.1 Number
- 数字型进制
- 在js中八进制前面加 0
- 十六进制前面加 0X
- 二进制前面加 0B
- 数字型范围
- 最大值:Number.MAX_VALUE,这个值为:1.7976931348623157e+308
- 最小值:Number.MIN_VALUE,这个值为:5e-32
- 数字型的三个特殊值
- Infinity:代表无穷大
- -Infinity:代表无穷小
- NaN:代表一个非数值
- isNaN()
- 用来判断一个变量是否为非数字类型,返回 true 或 false
- isNaN(12):是数字类型,返回 false
- isNaN(“12”):返回 false
- isNaN(“abc”):返回 true
5.2 String
-
字符串转义符
转义符 解释说明 \n 换行符 \ \ 斜杠 \ \ ’ 单引号 ’ \ " 双引号 " \t 缩进 tab \b 空格 -
字符串长度
- string.length:返回字符串的长度
- 长度包含多个空格和转义字符
-
字符串拼接
- “内容1” + “内容2” = 内容1内容2,字符串相加会拼接
- 字符串和数字、boolean、undefined、null相加都会拼接
5.3 Boolean
- true + 1 = 2,和数字相加时,true为 1 false为 0
5.4 Undefined和Null
- undefined:未定义
- null:空值
6. 基本数据类型检测 typeof
typeof 数据、typeof(数据)都可以
类型 | 实例 | 结果 |
---|---|---|
number | typeof 123 | “number” |
string | typeof “小红” | “string” |
Boolean | typeof true | “boolean” |
undefined | typeof undefined | “undefined” |
null | typeof null | “object” |
asfsafsaf(未定义变量) | typeof asfsafsaf | “undefined” |
class{} | typeof class{} | “function” |
function(){} | typeof function(){} | “function” |
内置构造函数 | typeof 内置构造函数 | “function” |
引用数据类型 | typeof 引用数据类型 | “object” |
null要注意,typeof null 后为 “object”,因为null为特殊的基本数据类型,null为空值它可能为任何类型的值
7. 基本数据类型转换
7.1 转为数字型
方式 | 说明 | 案例 |
---|---|---|
parseInt(string) 函数 | 将string类型转成整数型(向下取整) | parseInt(“123.123”) = 123 |
parseFloat(string) 函数 | 将string类型转成浮点型 | parseInt(“123.123”) = 123.123 |
Number() 强制转换函数 | 将string类型转换为number型 | parseInt(“123.123”) = 123.123 |
注意:当非数转换数字型时为 NaN
值 | Number() | parseInt() | parseFloat() |
---|---|---|---|
null | 0 | NaN | NaN |
undefined | undefined | undefined | undefined |
true、false | 1、0 | NaN | NaN |
parseInt(string)、parseFloat(string):会截取掉字符串中非数值包括非数值后面所有的字符,但是非数值不能在最前。Number(string):中有字符就是NaN
7.2 转为字符串类型
方式 | 说明 | 案例 |
---|---|---|
toString() | 转成字符串 | var num = 1; num.toString() — “1” |
String() 强制转换 | 转成字符串 | var num = 1; String(num) — “1” |
加号拼接字符串 | 和字符串拼接的结果都是字符串 | var num = 1; num + “字符串” — “1字符串” |
7.3 转为布尔类型
Boolean():返回true或者false,"“为false、” "为true
undefined、null、“”、0、-0、NaN都为false
8. 复杂数据类型
Object