javascript笔记

21 篇文章 0 订阅

## 1.number类型

- number数值类型:整数、小数、负数、16进制、8进制、NaN

```js

<script>

        //number数值类型:整数、小数、负数、16进制、8进制、NaN

        // 1.整数

        var a = 10;

        console.log(typeof (a));//number

        // 2.小数

        var b = 3.1415926;

        console.log(typeof (b));//number

        var d = .5;

        console.log(d, typeof (d));//0.5  number

        var e = 5.0;

        console.log(e);//5

        // 3.负数

        var c = -10;

        console.log(typeof (c));//number

        // 4.NaN    not a number 不是一个数  当运算没有结果的时候就是NaN

        var x = NaN;

        console.log(typeof (x));//number

        var y = 10 / "你好";

        console.log(y);//NaN

        // 注意:任何两个NaN都不相等  == 判断左右两侧是否相等

        console.log(NaN == NaN);//false

        //------------------------了解-------------------

        // 浏览器是显示10进制的数据  如果定义的8进制或者16进制  计算机会自动转成10进制

        //5.8进制数:以0开头 范围在0-7之间

        var x1 = 077;

        console.log(x1);//63

        var x2 = 0566;

        console.log(x2);

        // 6.16进制数据:以0x开头 范围在0-9  a-10 b-11 c-12 d-13 e-14 f-15

        var x3 = 0xff;

        console.log(x3);//255

        // 7.精度缺失 0.1+0.2 == 0.3

        // 计算机在运算的时候,会把数转换二进制数据然后再进行计算 计算结果再转成10进制 转换过程中会造成精度缺少

        console.log(0.1 + 0.2 == 0.3);//false  只要不把小数点计算当成判断条件 是不会影响代码执行的

    </script>

```

- ==NaN   not a number 不是一个数  当运算没有结果的时候就是NaN==

```js

        // 4.NaN    not a number 不是一个数  当运算没有结果的时候就是NaN

        var x = NaN;

        console.log(typeof (x));//number

        var y = 10 / "你好";

        console.log(y);//NaN

        // 注意:任何两个NaN都不相等  == 判断左右两侧是否相等

        console.log(NaN == NaN);//false

```

## 2.string类型

- string字符串类型:引号( " "   ' ')引起来的都是字符串  所有从页面获取的内容都是字符串数据类型

  - 字符串.length:获取字符串的长度  

  - 字符串[下标]:.获取字符串中某个字符  

  - 字符串.charAt(下标):获取字符串某个字符  

```html

 <script>

        // string类型  引号( " "   ' ')引起来的都是字符串  所有从页面获取的内容都是字符串数据类型

        var str1 = '文字';

        var str2 = "文字1234";

        console.log(typeof str1);//string

        console.log(typeof str2);//string

        // 1.获取字符串的长度  字符串.length

        console.log(str1.length);//2

        console.log(str2.length);//6

        // 2.获取字符串中某个字符  字符串[下标] 从左往右开始下标从0开始  取对应下标位置的字符

        console.log(str1[1]);//字

        console.log(str2[4]);//3

        // 3.获取字符串某个字符   字符串.charAt(下标)  获取对应下标位置的字符

        console.log(str1.charAt(0));//文

        console.log(str2.charAt(5));//4

        // 4.字符串遇到+  拼接

        console.log(1 + 1);//2

        console.log("1" + 1);//"11"

        console.log(1 + 2 + "1");//"31"

</script>

```

## 3.boolean类型

- boolean布尔类型  true和false

```html

<script>

        var b1 = true;

        var b2 = false;

        console.log(typeof b1, typeof b2);//boolean boolean

        //作用:用作判断条件

        if (false) {//如果判断条件为true 执行{}中的代码

            console.log("真");

        }

    </script>

```

## 4.undefined和null类型

- undefined 未定义   null 空对象

```js

<script>

        /*

            undefined

                 未定义  你去快递站拿快递  但快递站没有你的包裹  

            null

                 空对象  你去快递站拿快递  快递员给了一个包裹 但是这个包裹是空的

        */

        var odiv = document.getElementsByTagName("div")[0];

        console.log(odiv);//undefined

        /*

            undefined 和null的区别?

                undefined 未定义  声明变量没有赋值  没有存储空间

                null    空对象   有存储空间

        */

    </script>

```

- 面试题  undefined和null的区别

```js

undefined 未定义  声明变量没有赋值  没有存储空间

null    空对象   有存储空间

```

## 5.数据类型的转换

- 将一种数据类型转成另一种数据类型

  - 强制转换(程序员通过某些方法实现转换)

  - 隐式转换(计算机自动转换为其他数据类型)

### 5.1强制转换成number类型

- Number()    parseInt()   parseFloat()

#### 5.1.1Number强制转换

-  Number(要转换的数据):将数据转换为Number类型 如果转换不了则是返回NaN

```js

<script>

        /*

            Number(要转换的数据):将数据转换为Number类型 如果转换不了则是返回NaN

        */

        var n1 = 10;

        var n2 = false;

        var n3 = "10";

        var x = "10px";

        var y = "";

        var n4 = undefined;

        var n5 = null;

        console.log(Number(n1));//10

        console.log(Number(n2));//true-1  false-0

        console.log(Number(n3));//10

        console.log(Number(x));//NaN

        console.log(Number(y));//" "-0  ""-0

        console.log(Number(n4));//NaN

        console.log(Number(n5));//0

```

==总结:Number方法可以转换的:string类型(纯数字、""-0 " "-0)、boolean类型(true-1,false-0)、null(0) 其他都是NaN==

#### 5.1.2parseInt转换

-  parseInt(要转换的数据):将数据转换为number类型,从左往右开始转换,遇到不能转换的或者末尾结束,如果一开始就不能转换则是NaN,结果取整(舍弃小数)

```html

 <script>

        /*

            parseInt(要转换的数据):针对string类型转换

                将数据转换为number类型,从左往右开始转换,遇到不能转换的或者末尾结束,如果一开始就不能转换则是NaN,结果取整(舍弃小数)

        */

        console.log(parseInt("10"));//10

        console.log(parseInt("10px"));//10

        console.log(parseInt("10.5px"));//10

        console.log(parseInt("10.9px"));//10

        console.log(parseInt("px10.9px"));//NaN

    </script>

```

#### 5.1.3parseFloat转换

- parseFloat(要转换的数据):将数据转换为number类型,从左往右开始转换,遇到不能转换的或者末尾结束,如果一开始不能转换则是NaN,结果保留小数

```js

<script>

        /*

            parseFloat(要转换的数据):将数据转换为number类型,从左往右开始转换,遇到不能转换的或者末尾结束,如果一开始不能转换则是NaN,结果保留小数

        */

        console.log(parseFloat("10"));//10

        console.log(parseFloat("10.5px"));//10.5

        console.log(parseFloat("px10.5px"));//NaN

        console.log(parseFloat("10.5"));//10.5

    </script>

```

### 5.2强制转换为boolean类型

- Boolean(要转换的数据):将数据类型强制转换为boolean类型 结果为true或者是false

```js

 <script>

        // number类型:非0即真  NaN也是false

        console.log(Boolean(1));//true

        console.log(Boolean(-10));//true

        console.log(Boolean(3.14));//true

        console.log(Boolean(0x7788));//true

        console.log(Boolean(0));//false

        console.log(Boolean(NaN));//false

        // string类型:有值即为真

        console.log(Boolean("10"));//true

        console.log(Boolean("098766*****"));//true

        console.log(Boolean(" "));//true

        console.log(Boolean(""));//false

        // null undefined

        console.log(Boolean(null));//false

        console.log(Boolean(undefined));//false

        /*

            总结:Boolean结果为false的有:0 NaN null undefined ""

        */

    </script>

```

==总结:Boolean结果为false的有:0 NaN null undefined ""==

### 5.3强制转换为string类型

- String()   要转换的数据.toString()

#### 5.3.1 String强制转换

- String(要转换的数据):将数据转换string类型,直接是在数据外面加引号

```js

<script>

        console.log(String(1));//"1"

        console.log(String(NaN));//"NaN"

        console.log(String(null));//"null"

        console.log(String(undefined));//"null"

        console.log(String(true));//"true"

</script>

```



 

#### 5.3.2 toString强制转换

- 要转换的数据.toString: 强制转换为string类型

```js

 <script>

        /*

            1.要转换的数据.toString

                强制转换为string类型

        */

        var n = 1;

        console.log(n, n.toString());//"1"

        var b = true;

        console.log(b.toString());//"true"

        // null和undefined没有toString这个方法的

        var x = undefined;

        console.log(x.toString());//报错

    </script>

```



 

### 5.4其他小方法

- toFixed(n):保留n位小数

```js

<script>

        // 1.toFixed(n):保留n位小数

        var n = 3.1415926;

        console.log(n.toFixed(4));//3.1416

        var n1 = 0.1 * 0.7;

        console.log(n1, n1.toFixed(2));  

    </script>

```

- isNaN:is not a number   是不是  不是一个数字   false是数字  true不是一个数字

```js

       // 2.isNaN   is not a number   是不是  不是一个数字   false是数字  true不是一个数字

        console.log(isNaN(3));//false

        console.log(isNaN("文字"));//true

        // isNaN 判断之前会先调用Number方法进行强制转换 再来进行判断  Number(true)

        console.log(isNaN(true));//false

        console.log(isNaN(""));//false

```

## 6.运算符和表达式

- 运算符:连接一个以上的操作符中间的符号

- 表达式:由操作数和运算符组成的式子

```js

10 + 20  var a = 10

+运算符   10 20操作数   表达式  10 + 20

```

- 运算符的分类

  - 算术运算符  + - *  / %(取余 取模) ++ --

  - 赋值运算符 =  +=  -=  *=   /=  %=

  - 逻辑运算符

  - 比较运算符

  - 三目运算符

- 表达式的分类:算术表达式 赋值表达式  逻辑表达式  比较表达式  三目表达式

### 6.1算术运算符

- 算术运算符  + - *  / %(取余 取模) ++ --

```js

 <script>

        // 算术运算符  + - *  / %(取余 取模) ++ --

        console.log(10 + 2);//12

        console.log(10 - 2);//8

        console.log(10 * 2);//20

        console.log(10 / 2);//5

        console.log(10 % 2);//0

        console.log(11 % 2);//1

        // 特殊情况

        //1.精度缺少

        console.log(0.1 + 0.2);

        console.log(0.1 * 0.7);

        // 2.隐式转换:在运算过程中 数据自动进行转换

        // 隐式转换的规律 都会转成number类型再进行计算

        console.log(100 * false);//0

        console.log("100" - 10);//90

        console.log(10 + null);// 10

        //字符串拼接+ 会拼接

        console.log("10" + 10); "1010"

    </script>

```

- 自增++和自减--

  - 基础用法

  ```js

  // ++ 自增 自加1   i++  ++i 都是自加1

          // 1.基础用法

          var a = 10;

          a++;//a = a+1

          console.log(a);//11

          ++a;//a = a+1

          console.log(a);//12

  ```

  - 参与运算

  ```js

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值