js
This commit is contained in:
parent
de877bd04f
commit
bc0fdce976
@ -19,6 +19,80 @@ alert(typeof num);
|
|||||||
这三个 用法跟上面一样
|
这三个 用法跟上面一样
|
||||||
### number
|
### number
|
||||||
转换number的时候注意点
|
转换number的时候注意点
|
||||||
- 只有是数字开头的才会被转换
|
- 只有是数字开头的才会被转换 不是则是nan
|
||||||
- 多个小数点之后会是nan
|
- 多个小数点之后会是nan
|
||||||
-
|
|
||||||
|
```javascript
|
||||||
|
alert(Number("123abc")) // 123
|
||||||
|
alert(Number("000112")) // 112
|
||||||
|
alert(Number("1.2")) // 1.2
|
||||||
|
alert(Number("1.2.3")) // NaN
|
||||||
|
alert(Number("baa1212")) // NaN
|
||||||
|
alert(Number("")) // 0
|
||||||
|
```
|
||||||
|
|
||||||
|
#### nan
|
||||||
|
nan 代表不是数字 nan
|
||||||
|
|
||||||
|
### string
|
||||||
|
转化为字符串注意点
|
||||||
|
- obgect类型会转化为 "[Object obgect]"
|
||||||
|
|
||||||
|
例如
|
||||||
|
```javascript
|
||||||
|
alert(String(1233)) // 1233
|
||||||
|
alert(String({})) // [Object obgect]
|
||||||
|
alert(String([1,2,3])) // 1,2,3
|
||||||
|
function p(){alert(123)}
|
||||||
|
alert(String(p)) //function p(){alert(123)}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Boolean
|
||||||
|
转换为Boolean 类型 非0 的数字和非空的字符串都是true 空对象和空数组都是true
|
||||||
|
|
||||||
|
|
||||||
|
例如
|
||||||
|
```javascript
|
||||||
|
alert(Boolena("")) // false
|
||||||
|
alert(Boolena("0")) // true
|
||||||
|
alert(Boolena("123")) // true
|
||||||
|
alert(Boolena([])) // true
|
||||||
|
alert(Boolena({})) // true
|
||||||
|
alert(Boolena(0)) // false
|
||||||
|
alert(Boolena(1)) // true
|
||||||
|
alert(Boolena(2)) // true
|
||||||
|
```
|
||||||
|
|
||||||
|
## 隐式类型转换
|
||||||
|
### +
|
||||||
|
两个东西相加的时候
|
||||||
|
如果一侧为string 类型 将另一侧转化为string 进行拼接
|
||||||
|
如果一侧为对象数组或函数 也会转化成字符串进行拼接
|
||||||
|
如果除了上面的类型之外的相加 都会转化为数字进行相加 (boolena)
|
||||||
|
- 1 + "1" = "11"
|
||||||
|
- "1" + 1 = "11"
|
||||||
|
- "1" + [1,2] = 212
|
||||||
|
- [1,2] + [1,2] = 1,21,2
|
||||||
|
|
||||||
|
|
||||||
|
### - * /
|
||||||
|
将所有的都转化为数字 进行数学运算
|
||||||
|
|
||||||
|
剩余的[查看这个页面](https://chinese.freecodecamp.org/news/javascript-implicit-type-conversion/#1--1)
|
||||||
|
|
||||||
|
## ==
|
||||||
|
判断两个变量或者值是否是相等的
|
||||||
|
```javascript
|
||||||
|
if(1 == 1){
|
||||||
|
alert("相等")
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
在程序中都是用== 作为相等 因为一个 = 是赋值 所以判断的时候得用 两个 =
|
||||||
|
|
||||||
|
作业
|
||||||
|
|
||||||
|
- 将 "123" 转化为number类型
|
||||||
|
- "123" == 123 会将两边转化为什么类型
|
||||||
|
- undefined == NaN 是true 还是false
|
BIN
javascriptpress/4.javascript基础.assets/163f6b03478ae38a
Normal file
BIN
javascriptpress/4.javascript基础.assets/163f6b03478ae38a
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
46
javascriptpress/4.javascript基础.md
Normal file
46
javascriptpress/4.javascript基础.md
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# javascript基础
|
||||||
|
## 基础类型与引用类型
|
||||||
|
类型之前是有区别的 什么叫基础类型 什么叫引用类型呢?
|
||||||
|
|
||||||
|
## 基础类型
|
||||||
|
- string
|
||||||
|
- number
|
||||||
|
- boolean
|
||||||
|
- null
|
||||||
|
- undefined
|
||||||
|
|
||||||
|
基础类型在传递值的时候会复制自己
|
||||||
|
```javascript
|
||||||
|
var name = "啦啦啦";
|
||||||
|
var name1 = name;
|
||||||
|
name1 = "喵喵喵";
|
||||||
|
alert(name);
|
||||||
|
alert(name1);
|
||||||
|
```
|
||||||
|
## 引用类型
|
||||||
|
- array
|
||||||
|
- obgect
|
||||||
|
- function
|
||||||
|
```javascript
|
||||||
|
var obg = {name:"啦啦啦"}
|
||||||
|
var bog1 = obg
|
||||||
|
obg1.name = "喵喵喵"
|
||||||
|
alert(obg.name)
|
||||||
|
alert(obg1.name)
|
||||||
|
```
|
||||||
|
|
||||||
|
## 栈堆
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
![wechatimg104](4.javascript基础.assets/163f6b03478ae38a)
|
||||||
|
|
||||||
|
所有的变量都是在栈里面 但是如果创建引用类型的时候会在堆创建 然后只赋值对象地址给栈里面的变量
|
||||||
|
|
||||||
|
这个得详细讲一下
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
作业
|
||||||
|
- 为什么对象是引用的
|
||||||
|
- 引用类型与基础类型有什么区别
|
2
javascriptpress/5.javascript基础.md
Normal file
2
javascriptpress/5.javascript基础.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# javascript基础
|
||||||
|
|
Loading…
Reference in New Issue
Block a user