输入和输出、变量、数组、数据类型

174 阅读2分钟

js的三种引入方式

   <!-- 1. 行内javascript引入(了解) -->
    <button onclick="alert('发送验证码成功,50s重试')">点我发送验证码</button>

    <!-- 2. 内部javascript引入 -->
    <script>
        alert('你好')
    </script>

    <!--
        3. 外部javascript引入
        src中引入js文件的路径
        注意:外部引入js的方式,会忽略写在script标签中的内容
    -->
    <script src="./my.js"></script>

输入和输出语法

    1. document.write()在HTML文档中输出,直接页面上面就可以直接看到结果

    2. alert()警示框 在页面上方弹出警告框

    3. console.log() 在控制台输出,通过f12查看控制台

    4. prompt() 弹出式输入框,在网页上方退出输入框,可以直接输入数据(接收到的数据是字符串类型)

变量

变量:变量的本质是在内存中临时创建一个容器,拿来存储数据

名面规则:
1、由字母、数字、下划线、$符号组成,不能以数字开头
2、变量名不能是保留字,如:var for while等
3、严格区分大小写,如:username和userName,这是两个不同的变量
4、变量名必须要有意义,不能是随意乱起的a,b,c变量名
5、一般使用驼峰名面法,如:userName

let替代var的原因:
        // let 的存在就是为了解决var的一些问题
        // 1. var 可以先使用 再声明
        // 2. var 可以重复声明  弊端:你设置了一个变量名为a,但是你同事并不知道你给a设置过变量名,也重新声明了一次,结果你的数据就被你同事的覆盖了)
        
一、创建变量
        1. 声明变量语法:let 自定义的变量名 
        let age
        // 赋值符号  =
        age = 18
        // 重新赋值
        age = 19
        console.log(age); //19

        2. 变量的 初始化  声明变量的时候直接赋值
        let age = 18
        console.log(age); //18

        3. 声明多个变量 用逗号分隔
        let a = 1, b = 2, c = 3
        console.log(a);  //1
        console.log(b);  //2
        console.log(c);  //3
        4.交换变量
        // 临时变量 中转站
        let temp

        temp = num1
        num1 = num2
        num2 = temp

数组

        1.声明一个变量,里面存储数组类型
        let arr = [123,a,b,c] 
        //整个长度是6
        console.log{arr.length}  //6
        //每个元素在数组中的位置关系是从零开始(下标索引)
        console.log{arr[0]}      //1
        console.log{arr[4]}      //4

数据类型


一、数据类型的概念和应用
1、因为每个类型数据的存储都不一样,占用的比特位不一样,而如果统一一个数据类型存储(内存会预留出来),这样会浪费很多的资源
2、也为了方便程序员使用数据

二、基本数据类型
    1、number型:(数字型)
    Infinity    无限大
    1e5100000
         1e+5
         科学计数法
    NaN         Not a Number

    2、string类型: (字符串型)
    单引号' '、双引号" "、反引号` `
    字符串拼接
	'+ 变量名 +' 去替换需要替换的内容
	有拼接不方便引申出模板字符串
	模板字符串(ES6) (一定要使用反引号包裹才能使用模板字符)
	`字符串${变量}字符串 `  
    3、boolean 布尔型
	true
	false
    4、未定义类型:undefined  (只声明变量,没有赋值给变量)
    5null 空引用 (本质是一个对象、变量内容为空)
    
    检测数据类型:typeof+数据
    console.log(typeof 1234);      // number
    console.log(typeof '1234');    // string
    console.log(typeof true);      // boolean
    console.log(typeof null);      // object
    console.log(typeof 'false');   // string
    console.log(typeof undefined); //undefined
    

三、引用数据类型
    - object     对象
    - function   函数 
    - array      数组
    
四、数据类型的转化
1、为什么转化数据类型:
因为从用户那里获取到的数据类型是字符串型,而字符串型的数字相加只会相连接('12'+3  = 123),所以为了数据能够相加减,我们需要把字符串转化为数据类型

2、显示转化
 转化为数字型:Number()  //前端应用于单位的运算
        // Number(数据)
        console.log(Number('1234acs'));  // 如果转换的数据中包含非数字内容会返回NaN 不是一个数字
        console.log(Number('1234'));  // 1234

        // parseInt() 转换为数字型,只保留整数,没有四舍五入
        console.log(parseInt('12345.123'));  // 12345
        console.log(parseInt('12345.123abc'));  // 12345
        console.log(parseInt('abc12345.123'));  // 返回NaN 不是一个数字

        // 转换为数字型,会保留小数 parseFloat()
        console.log(parseFloat('110.11'));   // 110.11
        console.log(parseFloat('110.11abc'));   // 110.11
        console.log(parseFloat('abc110.11'));   // 返回NaN 不是一个数字
 转化为字符串型:String() 或 变量.toString(进制) 

3、隐式转化
    +号作为正号解析可以转换成Number
如:
        let num1 = +prompt('请输入第一个数字')
        let num2 = +prompt('请输入第二个数字')

        // 输出 页面 
        document.write(`您输入的第一个数字为${num1},您输入的第二个数字为${num2},他们的和为${num1 + num2}`)
    
    任何数据和字符串相加结果都是字符串
    
    字符串和数字(- * /)可以隐式转化为Number

特别注意:js代码的执行顺序是从上到下,从左到右(不同优先级别除外)