JS-01-02

137 阅读1分钟

一 数据类型 1: Js是弱类型语言,声明变量的时候并不能确定类型,只有赋值才能确定类型. prompt('输入:可以接受用户的输入,输入内容是字符串[带引号的都是字符串]') let age = prompt ("请输入分数") console.log(age+10)

结论:虽然js是弱类型语言,但在业务处理时候需要考虑类型.

2: 基本数据类型 [1.number.数字型] [2.string.字符串型] [3.boolean.布尔型] [4.undefined. 未定义型] [5.null 空类型]

 引用数据类型 [object 对象]
             [function 函数]
             [array 数组]
             

3.字符串

  <script>
    //字符串:有引号(双引号,单引号,反引号)包含
    //在常规使用的时候,引号的作用没有区别,都是代表字符串
    //注意事项:引号需要交替嵌套使用,如外单内双,外双内单

    // 字符串拼接: +是字符串连接符
    // let userName = 'jack'
    // console.log('我的名字叫' + userName);

    // +是字符号连接符, 组成字符串,输出内容是 201
    // 逻辑是 '我的年龄是' + age 是字符串 ,这部分在 +1
    // 没写括号是从左到右开始算
    // let age = 20
    // console.log('我的年龄是' + age + 1);

    // 有括号, (age+1) 以数值显示(运算符), 输出内容是 21
    // console.log('我的年龄是' + (age + 1));

    // 先定义变量
    let userName = 'jack'
        age = 20
        gender = '男'
    
        // 输出
        // , 不能放在括号外面, 外面属于运算符.不显示 . 放在括号里面属于字符串 正常显示
        console.log (
            '我的姓名是'+ userName + ',我的年龄是' + age + ',我的性别是' + gender
        );
   

</script>

4.反应号
<script>
    let userName = 'jack'
        age = 20
        gender = `男`
        // ``: 可以解析变量
        // ${变量| 表达式}:会解析变量和表达式,替换这个结构
        console.log(
            `我的姓名是${userName}, 我的年龄是${age} , 我的性别是${gender}`
        );

        // 反引号 `` 可以创建多行文本
        let str = `
            <h1>${userName}</h1>
            <h2>${age}</h2>
            <h3>${gender}</h3>`
        document.write(str)
</script>

5.未定义是比较特殊的类型,只有一个值 underfined
总结使用: 
    1. let age ; console . log(age)
    只声明 不赋值  结果: underfined
    
    2.console. log(age) 
    不声明 不赋值 直接使用 结果:报错
    
    3. age = 10; console.log(age)
    不声明 只赋值  结果: 10(不提倡)
    
    null 空类型
    let obj = null
    
    null 和 undefined 区别:
    1. underfined 表示没有赋值
    2. null 表示赋值了,但是内容为空
    
  6.类型转换
      <script>
    // 一 .数值转换
    // let num = '12.345'
    // 希望去除num的小数部分>>12
    // Number:讲变量强制装换位数值类型
    // console.log(typeof num , typeof Number(num));

    // 面试题常见题目
    // let num = '12.345abc'
    // Number在进行类型转换的时候,如果发现有非数值,则返回NaN 

    // NaN:not a number ,它的类型刚好是number

    // console.log(Number(num))
    
    // console.log (typeof num , typeof Number (num))

    // parse:转换
    // int:integer 整数
    // parseInt:讲数据转换为整数
    // 特点:会进行类型转换,直到碰到非数值为止,如果第一位就是非数值,那么久返回NaN.

    // console.log(parseInt(num));
    
    // 保留小数用 Float
    // console.log(parseFloat(num));

    // 二: 字符串转换:将其他类型的数据转换为字符串
    let num = 123
    console.log(typeof num);
    console.log(typeof (num + ''));
    console.log(typeof (num + ''));
    console.log(typeof (num + ``));
    // String 明确转换字符串值
    console.log(typeof String(num))
    // toString 变量 转换字符串值
    console.log(typeof num.toString())

</script>

7. 类型转换案例
    <script>
    // 从键盘输入两个值,求和
    let num1 = +prompt('请输入第一个数')
    let num2 = +prompt ('请输入第二个数')
    // 检测是否为字符串
    console.log(typeof num1,typeof num2);

    console.log('和为'+(num1 + num2) );
</script>