美文网首页
Web17.数据类型&运算符&流程控制语句

Web17.数据类型&运算符&流程控制语句

作者: FiredEarthMusic | 来源:发表于2017-11-10 20:49 被阅读6次

    JS七种数据类型

    String Number Boolean Array Object Null Undefined Symbol

    对象又可以分成三个子类型:
    狭义的对象 object
    数组 array
    函数 function

    数值 字符串 布尔值称为原始类型,不能再细分,将对象成为复杂类型,
    复杂类型往往是多个原始类型的值的集合

    三种方法

    typeof 运算符
    instanceof 运算符
    Object.prototype.toString方法

    typeof运算符可以返回一个值的数据类型

    typeof 123
    typeof '123'
    

    题目1:JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么?

    1.七种数据类型 :number string boolean undefined null object symbol
    
    2.数值 字符串 布尔值 称为原始类型的值 即它们是最基本的数据类型,不能再细分了
    
    3.对象称为复杂类型的值  因为一个对象往往是多个原始类型的值的合成
    
    undefined和null 一般看成两个特殊值
    
    对象:狭义的对象 数组 函数 正则表达式
    
    4.原始类型不能再细分 复杂类型可以
    

    题目2:typeof和instanceof的作用和区别?

    typeof运算符返回一个字符串,指示未经计算的操作数的类型
    
    instanceof 测试一个对象在其原型链中是否存在一个构造函数的prototype属性,
    用来检测constructor.prototype是否存在于参数object的原型链上
    

    题目3:如何判断一个变量是否是数字、字符串、布尔、函数

    使用typeof运算符
    
    typeof 32 === 'number';
    typeof 3.14 === 'number';
    typeof Math.LN2 === 'number';
    typeof Infinity === 'number';
    typeof NaN === 'number';
    typeof Number(1) === 'number'
    
    typeof "" === 'string';
    typeof "bla" === 'string';
    
    typeof true === "boolean";
    typeof false === "boolean";
    typeof Boolean(true) === "boolean";
    
    typeof function(){} === 'function';
    typeof Math.sin === 'function';
    

    题目4:NaN是什么? 有什么特别之处?

    Not a Number
    
    特别之处:
    NaN != NaN      //true
    NaN === NaN  //false
    

    题目5:如何把非数值转化为数值?

    parseInt()
    
    parseInt('123')  //123
    parseInt(1.23)  //1
    parseInt('1.23') //1
    parseInt('8a')    //8
    parseInt('15e2') //15
    parseInt('abc')   //NaN
    
    
    parseFloat()
    
    parseFloat('3.14')  //3.14
    parseFloat(' ')  //NaN
    

    题目6:==与===有什么区别

    == 是近似相等
    === 是绝对相等
    

    题目7:break与continue有什么区别

    break 用于强制退出循环体,执行循环后面的语句
    continue 用于退出本次循环,执行下次循环
    

    题目8:void 0 和 undefined在使用场景上有什么区别

    void 执行一个表达式 返回undefined
    void 0    //undefined
    
    有些情况下undefined可以被赋值 我们可以用void 0判断
    比如:
    function fn() { 
        var undefined = 3;
        var a;
        if(a===undefined){
            console.log('===')
        }else{
            console.log('!==')
        }
    }  //这里undefined被赋值了
    fn()
    
       //这里用void 0作判断
    function fn(){
        var undefined = 3;
        var a;
        if( a=== void 0){
            console.log('===')
        }else{
            console.log('!==')
        }
    }
    fn()
    
    //IE5.5-8  undefined可以被赋值
    //IE9+以及现代浏览器不可以被赋值
    

    题目9:以下代码的输出结果是?为什么?

    9.png
    console.log(1+1)        //2          两个数字相加
    console.log("2"+"4")  //24        两个字符串相加   字符串的拼接
    console.log(2+"4")    //24        将一个字符串尝试转化为数字 然后相加
    console.log(+"4")      //4          只有一个数字参数时返回其正数值
    

    题目10: 以下代码的输出结果是?

    10.png
    var a = 1; // 声明 a = 1
    a+++a; // (a++)+a 结果:2
    typeof a+2;// (typeof a)+2 结果:"number2"
    

    题目11:以下代码的输出结果是? 为什么

    11.png
    var a = 1; //声明 a = 1
    var b = 3;//声明 b = 3
    console.log( a+++b ); 控制台:(a++)+b 结果:4
    

    题目12:遍历数组,打印数组每一项的平方

    12.png
    var arr = [3,4,5]
    for(var i = 0; i < arr.length; i++){
        console.log(arr[i]*arr[i])
    }
    

    题目13:遍历 JSON, 打印里面的值

    13.png
    var obj = {
        name: 'hunger',
        sex: 'male',
        age: 28
    }
    
    for(var key in obj){
        console.log(obj[key])
    }
    

    题目14:以下代码输出结果是? 为什么 (选做题目)

    14.png
    number2
    
    //bb
    //undefined
    
    //haha
    //undefined
    
    //2
    //undefined
    

    相关文章

      网友评论

          本文标题:Web17.数据类型&运算符&流程控制语句

          本文链接:https://www.haomeiwen.com/subject/brmyuxtx.html