JavaScript变量和数据类型

目录

一、程序中变量的数据​编辑

二、变化数据的记录 – 变量​编辑

三、变量的命名格式 ​编辑

四、 变量的命名规范​编辑

 五、变量的练习​编辑

 六、变量的使用注意​编辑

七、 JavaScript的数据类型​编辑

八、typeof操作符​编辑

九、Number类型(一)​编辑

十、Number类型(二) ​编辑

十一、String类型(一)​编辑

十二、字符串中的转义字符​编辑

十三、字符串的属性和方法​编辑

十四、Boolean类型​编辑

十五、Undefined类型​编辑

十六、Object类型​编辑

十七、Null类型​编辑

十八、数据类型总结​编辑

十九、数据类型的转换​编辑

二十、字符串String的转换​编辑

二十一、数字类型Number的转换​编辑

 二十二、布尔类型Boolean的转换​编辑


一、程序中变量的数据

二、变化数据的记录 – 变量

三、变量的命名格式

四、 变量的命名规范

MDN文档查看关键字和保留字 

 

<!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>
</head>
<body>
  

  <script>

    // 定义一个变量
    // 第一步: 变量的声明(高级js引擎接下来我要定义一个变量)
    // var关键字
    // 第二步: 变量的赋值(使用=赋值即可)
    // var currentTime = "16:00"

    // 其他的写法一:
    // var currentTime;
    // currentTime = "16:02";
    // currentTime = "17:00";

    // 其他的写法二: 同时声明多个变量(不推荐, 阅读性比较差)
    // var name, age, height
    // name = "why"
    // age = 18
    // height = 1.88
    var name = "why", age = 18, height = 1.88;

    // 补充:
    // 1.当我们打印变量时, 实际上是在打印变量中保存的值
    // 2.console.log(参数1, 参数2, 参数3...........)
    console.log(name, age, height);

  </script>

</body>
</html>
<!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>
  </head>
  <body>
    <script>
      // 规则: 必须遵守

      // 规范: 建议遵守
      // 1.多个单词, 建议使用驼峰标识(小驼峰)
      // 小驼峰(currentTime)/大驼峰(CurrentTime)
      // 2.推荐=的左右两边加上空格
      var currentTime = "16:18";
      var currentPrice = "¥100";
    </script>
  </body>
</html>

 五、变量的练习

<!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>
</head>
<body>
  
  
  <script>
    // 练习一: 定义变量保存个人信息
    var name = "why"
    var age = 18
    var height = 1.88
    var weight = 160
    var address = "广州市"

    // 修改变量的值(重新赋值)
    age = 19
    height = 1.90
    weight = 165
    address = "深圳市"

    // 练习二: 将一个变量的值, 赋值给另外一个变量
    var nickname = "coderwhy"
    var admin = nickname
    console.log(nickname, admin) // coderwhy coderwhy


    // 练习三: 定义两个变量保存两个数字, 对两个变量中的数字进行交换
    var num1 = 10
    var num2 = 20
    // 方法一: 借助第三个变量
    // console.log("交换前, num1, num2:", num1, num2)
    // var temp = num1
    // num1 = num2
    // num2 = temp
    // console.log("交换后, num1, num2:", num1, num2)

    // 方法二: 不借助于第三个变量完成交换(了解, 笔试面试题)
    console.log("交换前, num1, num2:", num1, num2)
    num1 = num1 + num2 // num1: 30, num2: 20
    num2 = num1 - num2 // num1: 30, num2: 10
    num1 = num1 - num2 // num1: 20, num2: 10
    console.log("交换后, num1, num2:", num1, num2)

    
    // 练习四: 接受用户输入一个值, 并且使用一个变量来保存
    var inputInfo = prompt("请输入一个值吧!")
    console.log(inputInfo)

  </script>

</body>
</html>

 六、变量的使用注意

<!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>
</head>
<body>
  
  <script>
    // 注意事项一: 如果一个变量未声明就直接使用, 那么会直接报错
    // var currentAge = age
    // var name = "why"
    // console.log(message)

    // 注意事项二: 如果一个变量有声明, 但是没有赋值操作
    // var info
    // console.log(info)

    // 注意事项三: 在JavaScript中也可以不使用var在全局声明一个变量(不推荐)
    // 如果不使用var来声明一个变量, 也是可以声明成功的, 并且这个变量会被加入window对象
    address = "广州市"
    console.log(address)

  </script>

</body>
</html>

七、 JavaScript的数据类型

<!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>
</head>
<body>
  
  <script>
    // 一串文本组成, 称之为是一个字符串
    var description = "了解真相, 你才能获得真正的自由!"
    description = 123
    console.log(description)

    // 其他语言中声明一个变量如何指定类型
    // java
    // String description = "了解真相, 你才能获得真正的自由!";
    // description = 123
    // swift: 自动类型推导
    // var description = "了解真相, 你才能获得真正的自由!"
    // description = 123
  </script>

</body>
</html>

八、typeof操作符

<!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>
</head>
<body>
  

  <script>
    // 1.typeof基本演练
    var info = "why"
    // info = 18
    // info = {}
    console.log( typeof info )

    // 2.typeof的其他类型
    var age
    console.log(typeof age)

    // 3.null的操作
    var address = null
    console.log(typeof address)


    // 4.()的作用
    // ()表示的是调用函数
    // alert()

    // ()将某一个表达式当做一个真题
    var result = (2 + 3) * 4

    console.log(typeof(info))
    
    console.log(typeof(String))
  </script>

</body>
</html>

九、Number类型(一)

十、Number类型(二)

<!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>
</head>
<body>
  
  <script>

    // 1.Number类型的基本使用
    var age = 18
    var height = 1.88

    // 2.特殊的数值
    // Infinity
    var num1 = Infinity
    var num2 = 1 / 0
    console.log(num1, num2)

    // NaN: not a number(不是一个数字)
    var result = 3 * "abc"
    console.log(result)
    console.log(isNaN(result))

    // 3.进制表示
    var num3 = 100 // 十进制
    // 了解
    var num4 = 0x100 // 十六进制
    var num5 = 0o100 // 八进制
    var num6 = 0b100 // 二进制
    console.log(num4, num5, num6)

    // 5.数字可以表示的范围
    var max = Number.MAX_VALUE
    var min = Number.MIN_VALUE
    console.log(max, min)

  </script>

</body>
</html>

十一、String类型(一)

十二、字符串中的转义字符

十三、字符串的属性和方法

<!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>
</head>
<body>
  
  <script>
    // 1.String基本使用
    var name = "coderwhy"
    var address = "广州市"
    var intro = "认真是一种可怕的力量!"

    // 2.别的引号的使用
    // 单引号
    var message1 = 'Hello World'
    // 双引号
    var message2 = "Hello World"
    // 反引号(ES6新增语法)
    // ${变量/表达式}
    var message3 = `Hello World, ${name}, ${2 + 3}`

    // 3.转义字符: 字符串本身中包含引号
    var message4 = 'my name is "coderwhy"'
    console.log(message4)

    var message5 = 'my name \\ \'\' is "coderwhy"'
    console.log(message5)

    // 4.<字符串>本身有的方法和属性
    var message = "Hello World"
    console.log(message.length)

    // 字符串操作
    var nickname = "coderwhy"
    var info = "my name is "
    var infoStr = `my name is ${nickname}` // 推荐(babel)
    var infoStr2 = info + nickname
    console.log(infoStr, infoStr2)

  </script>

</body>
</html>

十四、Boolean类型

<!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>
</head>
<body>
  
  <script>

    // 1.Boolean基本使用
    var isLogin = false
    var isAdmin = true

  </script>

</body>
</html>

十五、Undefined类型

<!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>
</head>
<body>
  
  <script>
    var message
    var info = undefined // 不推荐

    console.log(message, info)
  </script>

</body>
</html>

十六、Object类型

十七、Null类型

<!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>
</head>
<body>
  
  <script>

    // 1.Object类型的基本使用
    // var name = "why"
    // var age = 18
    // var height = 1.88
    var person = {
      name: "why",
      age: 18,
      height: 1.88
    }
    console.log(person)

    // 2.对象类型中某一个属性
    console.log(person.name)

    // 3.Null类型
    // 3.1. 其他类型的初始化
    var age = 0
    var num = 0
    var message = "" // 空字符串
    var isAdmin = false

    // Null存在的意义就是对 对象进行初始化的, 并且在转成Boolean类型时, 会转成false
    var book = null
    console.log(typeof book) // object

  </script>

</body>
</html>

十八、数据类型总结

十九、数据类型的转换

<!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>
</head>
<body>
  
  <script>

    // 什么是数据类型的转换
    // var numStr = "1234"
    // var result = numStr
    // console.log(typeof result)

    var isAdmin = true
    var result2 = 10 + isAdmin // isAdmin -> 1
    console.log(result2)
    console.log(String(true))

  </script>

</body>
</html>

二十、字符串String的转换

 

<!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>
</head>
<body>
  
  <script>
    var num1 = 123
    var age = 18
    var isAdmin = true

    // 1.转换方式一: 隐式转换(用的非常多)
    var num1Str = num1 + ""
    var ageStr = age + ""
    var isAdminStr = isAdmin + ""
    console.log(typeof num1Str, typeof ageStr, typeof isAdminStr)

    // 2.转换方式一: 显示转换
    var num1Str2 = String(num1)
    console.log(typeof num1Str2)

  </script>

</body>
</html>

二十一、数字类型Number的转换

<!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>
</head>
<body>
  
  <script>
    // 方式一: 隐式转换(用的很少)
    var num1 = "8"
    var num2 = "4"
    var result1 = num1 + num2 // 84
    console.log(typeof result1)

    var result2 = num1 * num2
    console.log(result2)

    // 方式二: 显示转换(Number())
    var result3 = Number(num1)
    console.log(typeof result3)

    // 其他类型转成数字类型的规则:
    console.log(Number(undefined)) // NaN
    console.log(Number(true)) // 1
    console.log(Number(false)) // 0
    console.log(Number(null)) // 0
    console.log(Number("abc123")) // NaN
    console.log(Number("         123       ")) // 123
    console.log(Number("")) // 0


  </script>

</body>
</html>

 二十二、布尔类型Boolean的转换

 

<!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>
</head>
<body>
  
  <script>
    // 方式一: 隐式转换
    // 分支语句
    var isAdmin = true
    var num1 = 123 // true

    // 方式二: 显示转换
    console.log(Boolean(num1), Boolean(undefined))

    // 转换有如下的规则: 
    // 直观上为空的值, 转成Boolean类型都是false
    // 直观上为空的值: 0/""/undefined/null/NaN -> false

    // 注意事项
    console.log(Boolean("")) // false
    console.log(Boolean("0")) // true

  </script>

</body>
</html>

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值