js仔必会的八股文

1.说出JavaScript中的常见数据类型以及他们代表的含义

  • js中有八个基本的数据类型,其中七个是原始类型,一个是复杂类型

    1. Number

      • 用于表示任何类型的数字;整数或浮点数

    2. String

      • 用于字符串:一个字符串可以包含0或多个字符,所以没有单独的单字符类型

    3. Boolean

      • 布尔,用于表示真假

    4. Underfined

      • 用于未定义的值—只有一个undefined值的独立类型

    5. Object

      • 引用类型,或者复杂类型

    6. Null

      • 用于未知的值—只有一个null值的独立类型

    7. Symbol

      • 用于唯一的标识符

    8. Bigint

      • 用于任意长度的整数

  • 其中Symbol和Bigint是ES6新增的数据类型

2.说一说count++和++count的区别

  • 如果他们在计算后的值不被使用的话,他们没有区别

  • 如果需要立刻使用自增之后的值 就用前置自增,反之则用后置自增

    let a = 1;
    let b = ++a; // a的值变为2,b的值也是2
    ​
    let a = 1;
    let b = a++; // b的值是1,但a的值变为2

3.说说 == 和 === 的区别

  • == (普通相等)

    • 在类型不相同的情况下,会将运算元先转换成number的值,再进行比较(隐式转换)

    • null 比较特殊,null再进行比较的时候,应该是会被当成一个对象和原生类型进行比较

  • === (严格不等)

    • 在类型不同的情况下,直接返回发false

4.说一说运算元是什么

  • 运算元是运算符应用的对象,比如说 5 * 2 有两个运算元,左运算元5和右运算元2;有的时候人们把他们称之为参数;

  • 如果一个运算符对应的只有一个运算元,那么它是 一元运算符 如果一个运算符拥有两个运算元,那么他是二元运算符

  • js中有三元运算符 例句如下

    var result = condition ? value1 : value2 
    这个就是condition是与否,如果是则返回value1,不是则返回value2

5.讲一讲逻辑与&& 和逻辑或|| 的本质

  • 首先我先说一说逻辑与吧,也称为短路与 他的本质就是

    1. 从左到右依次计算操作数

    2. 在处理每一个操作数时,都会将其转化为布尔值(Boolean)

    3. 如果结果是false,就停止运算,返回false

    4. 如果所有的操作数都被计算机过,并且都为真,则返回true

  • 逻辑或(短路或)

    1. 从左到右依次计算操作数

    2. 在处理每一个操作数时,会把他转化为布尔值

    3. 如果结果是true,就停止计算,返回true

    4. 如果所有的操作数都为false,则返回false

  • 这就是逻辑运算的本质

6.说三个使用到分支语句的场景

  1. 成绩单进行分档

  2. 输入密码判断正确

  3. 管理员操作系统

7.请举两个if...else的例子

  • 案例一相亲问题,判断男的身高、颜值和存款

  •      var height = prompt(`你的身高多少`)
            var money = prompt(`你的存款多少`)
            var FaceScore = prompt(`你的颜值多少`)
            if(height> 180 && money >100 &&         FaceScore >8){
                alert(`我要嫁给他`)
            }else if(height> 180 || money >100 || FaceScore >8){
                alert("勉强吧")
            }else{
                alert(`下头男`)
            }
  • 案例二,年终奖问题某公司根据工作年限发放年终奖,工龄2年以内 ,年终奖为 1个月工资工龄3年-5年以内,年终奖为1.5倍工资;工龄5年以上,年终奖为2.5倍工资

  •  var year = Number(prompt(`请输入你的年份`))
        var salary = 3000
        var yearBonus = null
        if(year>5){
            yearBonus = 2.5 *salary
        }else if(year >= 3){
            yearBonus = 1.5 * salary
        }else{
            yearBonus=salary
        }
        alert(`你的年终奖为` + yearBonus)
  • 17
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值