Javascript(一) – 基础
一 - js引入
- 行内式
- 内嵌式
- 外部js引入
二 - 变量
变量:是存放数据的容器, 通过变量名来获取和修改数据;
本质:变量是程序在内存中申请的一块用来存放数据的空间;
变量的使用
- 声明变量
- 赋值
- 声明变量并赋值叫做 变量的初始化
var name = prompt('请输入您的名字')
- 更新变量,会被最新的赋值覆盖
- 声明多个变量
var age=28 , address='00000 , email = 'kakaxi@qq.com '
- 只声明不赋值, 结果是undefined
var sex
- 不声明,不赋值,使用 , 报错
xx is not defined
- 不声明,直接赋值使用, 会变成全局变量
qq = 110 , console.log(qq)
- 变量命名规范
三 - js 变量数据类型
js 的变量数据类型是只有程序在运行过程中, 根据等号右边的值来确定的
js 是动态语言, 变量的数据类型是可以变化的
- 简单数据类型
Number
Boolean
String
Undefined
Null
1. Number 类型
- 八进制: 0 - 7 程序里面数字前面加0 , 表示八进制
var num1 = 010 - 十六进制 : 0 - 9 以及 A - F , 数字前面加 0x , 表示十六进制
var num2 = 0x10 - 数字类型的最大值和最小值:
Number.MAX_VALUE 最大值
Number.MIN_VALUE 最大值 - 无穷大和无穷小:
Infinity
负的 Infinity - 非数字:
NAN - isNaN() 判断是非数字: 如果是数字返回的是false, 如果不是数字返回的是true
console.log(isNaN( (12) ) // false
2. 字符串类型 String
js 推荐使用单引号, HTML标签使用的是双引号;
外单内双, 外双内单
- 转义字符: 都是用 \ 开头, 必须写在引号内部
- 字符串拼接,只要有字符串和其他类型相拼接最终的结果就是字符串类型;
字符串 + 任何数据类型 = 字符串
加号 : +
字符串加数字:’pink‘ + 18
// pink18
字符串加boolean:'pink'+ true
//pinktrue
变量和字符串引引相加 ‘ var age = 18 ; 'pink’ + age + ‘岁’
3. 布尔类型 Boolean
布尔类型和数字型相加的时候, true的值为1, false的值为0
console.log(true + 1 ) // 2 console.log(false + 1 ) // 1
4.undefined 和 null
undefined 如果一个变量声明, 没有赋值
undefined, 未定义数据类型console.log(undefined + ‘pink’)
undefined 加字符串还是字符串
undefined 加 数字类型, 结果是NaN
Null 空值
Null加字符串 null + 'pink'
. // nullpink
Null 加数字类型 null + 1
// 1
Null 加布尔类型 null + true
// 1
5. 检测数据类型 typeof , console.log( typeof str)
浏览器:
黑色: 字符型
蓝色: 数字型
深蓝色:布尔类型
6. 字面量
7. 数字类型的转换
& 字符串转换
- toString() `--var num = 10 var str = num.toString()`
- String() ` ---String(num)`
- 加号拼接 `最重要--- console.log( num + '' )`
&数值型转换
- parseInt 转换为整数
-
parseInt(变量)
parseInt( '120PX‘ )
parseInt(' rem120px ') ⇒ NaN `
- parseFloat (变量)
-
parseFloat('3.14) // 3.14
parseFloat(' 120px ') // 120
parseInt(' rem120px ') ⇒ NaN `
- 利用Number变量
-
Number( 变量 )
- 算数运算 隐式转换 ` 减号 - 乘号 * 除号 / `
-
console.log( ’12‘ - 0 ) // 12
console.log( ’123‘ - ‘120 ) // 3
console.log( ’123‘ * 1 ) // 123
Boolean 类型转换
除了下面五个, 其余全部为true
关键字
四. js 运算符
逻辑中断 (短路运算)
- 逻辑或短路运算,
- 如果表达式1是true, 则返回表达式2 ,
- 如果表达式1是false, 则返回表达式1
- 如果有空的, 或者否定的为假, 其余是真的 0 ‘’ null undefined NaN
- 逻辑或短路运算,
- 如果表达式1 为真,则返回表达式1
- 如果表达式1 为假,则返回表达式2
五 . 流程控制 - 分支
六、 数组
七 、函数
函数作用域
**作用域链 **
预解析
- 变量提升
函数表达式: 调用必须写在函数下面
2. 函数提升
函数声明
对象
创建方式
- 字面量
一次创建一个对象
- new Object()
一次创建一个对象
- 构造函数
批量创建对象
内置对象
检测是否为数组 instanceof 运算符 true false
添加删除数组元素的方法
基本包装类型
把简单数据类型包装成复杂数据类型
**