JS基础

140 阅读3分钟

[toc]

JS

变量

定义:储存数据的盒子

如:柜子

let num = "万少"

let 定义一个变量 ,后面接一个自变量名 用来存储数据 , num为变量名存储 了数据 “万少”

给变量赋值

给let 自变量名 的盒子 存储数据 ,利用= ,右边的值赋值给 左边

如: let num = "万少好帅"

常用: let num = "跟随万少敲代码" ===> 定义一个变量 ,并给变量赋值

例题

变量的交换

把num的值与num1的值换行
let num = 1,num1 = 2,num2
num2 = num 
num = num1
num1 = num2

数据类型

基本数据类型

数字类

符号:Number

数字类:没有用引号包裹,可以用来进行运算

数字类数据 :用 typeof 变量 ===>输出 Number

如:

let num = 8   //不可用引号包裹

字符串

符号:string

特点:用双引号或者单引号包裹

如:

let str = "11111"
console.log(typeof str)  //string

布尔型数据(boolean)

  • false
  • true
let num = false
console.log(typeof num)  //Boolean

作用:可以在条件从句中起判断条件依据

undefined

属于一种特殊的基本数据类型

当定义一个变量,但并未给变量赋值时 打印输出控制台会输出undefined

let num 
console.log(typeof num)   //undefined

注意:从一个undefined中拿值 ,会报错

let num
console.log(num)

null

当定义一个变量,并赋值后,赋值的那个值为Null时 ,为Null

      let obj ={}
        let nullNumber = obj
        console.log('  ----->  ',typeof nullNumber );  //object
     let number = null
        console.log('  ----->  ',typeof number );//object

引用类数据类型

  • 数组

符号:Array []

特点 :用[]包裹 里面可以放任意数据

let arr = [1,2,3]
let arr1 = []
console.log(typeof arr)  //object
  • object

符号:Object {}

特点:用{}包裹 里面可以放任意数据

let obj = {1,"万少"false,null}
console.log(typeof obj)  //object

undefined与null的区别

undefined 定义了一个变量,但并未赋值

null 定义了一个变量,也赋值了,但赋值为null

注意:两种都是不可取,一般表示结果不正常

判断数据类型

typeof

作用:对于一个变量不知道它是什么类型时,可以用typeof 变量 进行判断变量类型

let num = 1
console.log(typeof num)   //number  数字类
let str = "123"
console.log(typeof str)  //string   字符串
let booleanNumber = false 
console.log(typeof booleanNumber)    // boolean  布尔型
let  number = null   
console.log(typeof number)   //null
let arr = []
console.log(typeof arr)    // object  引用数据类型

数据类型的转换

数字类转字符串

隐式转换

  • 当一个数字类型 加一个字符串时,会转换为字符串类型数据
let num = 1
console.log(typeof (num + ""))   //  string
  • 运用:例题简易计算器
let num = +prompt("请输入数值1"),num2 = +prompt("请输入数值1")
console.log(num + num2)

显示转换

  • String(变量)
let num = 1
console.log(typeof String(num))   //string
  • 变量.toString()
let num8 = 2
console.log(typeof num8.toString())   //string

字符串型转数字类型

隐式转换

  • 当变量使用加减乘除运算符号时 ,会转变为数字型数据 (其中运用+号时,数据中两边有一边是字符串,会转为字符串拼接)
let num = "123"
console.log(typeof (num - 1))  //number  

拼接

  • 用双引号,单引号包裹 中间用+ 会把数据拼接起来 (不建议使用)
  • 用反引号拼接(推荐) ------又称:模板字符串 当有变量时,用**${变量}** 不容易错,方便使用 ,拼接标签里有换行时可以

注意:当用document.write解析标签时,又换行,不可用双(单)引号包裹,只能使用模板字符串(反引号)

  let str = ` <div class="box">
                  <p><span>万少带领我们向前冲</span></p>
                  </div>`;
      document.write(str);   //有换行,使用模板字符串

模板字符串

定义:使用反引号,里面可以使用**${变量}**来拼接数据

  let str = ` <div class="box">
                  <p><span>万少带领我们向前冲</span></p>
                  </div>`;
      document.write(str);   //有换行,使用模板字符串

订单付款案例

<!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>
    <style>
     table{
         margin: 50px auto;
     }
        tr{
            /* 细边框 */
            border-collapse: collapse;
            /* border: 1px solid #000; */
        }
        td{
            /* border-collapse: collapse;11 */
            border: 1px solid #000;
        }
    </style>
</head>
<body>
    <!-- <table border="1">
        <tr><th>11</th>
        <th>22</th></tr>
        <tr></tr>
    </table> -->


    <script>
        let pp = "11.22a"
        console.log('Number(pp)  ----->  ', Number(pp));
        let price = +prompt("请输入单价"),num = +prompt("请输入数量"),all,adress = prompt("请输入地址")
        all = price * num 
        document.write(`
        <table style="border: 1px solid #000;">
        <caption>订单付款确认页面</caption>
        <tbody >
            <tr>
                <th>商品名称</th>
                <th>商品价格</th>
                <th>商品数量</th>
                <th>总价</th>
                <th>收货地址</th>
            </tr>
            <tr > 
                <td>小米手机青春PLUS</td>
                <td>${price}元</td>
                <td>${num}</td>
                <td>${all}元</td>
                <td>${adress}</td>
               
            </tr>
        </tbody>
    </table>
        `)
    </script>
</body>
</html>

image-20220325224252465.png