美文网首页
任务2 运算符及运算符的优先级

任务2 运算符及运算符的优先级

作者: 村里第一帅 | 来源:发表于2017-07-16 11:12 被阅读0次

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

    • ** JavaScript有六种数据类型 **
    • 1.数值(number):整数和小数(比如1、3.14)
    • 2.字符串(string):字符组成的文本(比如“ hello apple ")
    • 3.布尔值(boolean):"ture" 和"false"两个特定值
    • 4.undefined:表示未定义或不存在,此处目前没有任何值
    • 5.null:表示空缺,即此处应该有一个值,但目前空缺
    • 6.对象(object):各种值组成的集合
    • ** 数值、字符串、布尔值 **为原始类型,他们是最基本的数据类型不能再细分了。
    • **对象(object) **为复杂类型,复杂类型一般由多个原始类型的数据组成,可以看作是存放各种值的容器。
    • 对象又可以分为三个子类型
      狭义的对象(object)
      数组(array)
      函数(fuction)
      正则表达式(regexp)
    • **undefined、null **为两个特殊值。

    typeof和instanceof的作用和区别?

    • tyoeof运算符可以返回一个值的类型:
      原始类型数值、字符串、布尔值分别返回number、string、boolean
      函数返回function
      function f( ) { } typeof f //"fuction"
      typeof可以用来检查一个没有声明的变量,而不报错。
      除此以外,其他情况都返回object。
    • instance 是用于判断某个对象是不是构造函数的一个实例
      区分数组和对象
      var o = {}; var a = []; o instanceof Array // false a instanceof Array // true
      instanceof返回一个布尔值,该值指示一个对象是否为特定类的一个实例

    result = object instanceof class
    如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 class 存在于对象的原型链中(为 true),则该运算符返回 true。如果 object 不是 class 的实例,或 object 为 null,则该运算符返回 false。

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

    typeof 123 === 'number'判断是否是数字
    typeof '123' === 'string'判断是否为字符串
    typeof true ==='boolean'判断是否为布尔
    typeof a ==='function'判断是否为函数

    NaN是什么? 有什么特别之处?

    NaN含义是Not a Number,表示非数字,NaN和任何值都不想等包括它自己。

    如何把非数值转化为数值?

      1. Number( )
    • 2.parseLnt( ) parseFloat( )
      (1)忽略字符串前面的空白字符,找到第一个非空白字符
      (2)如果第一个字符不是-或者数字返回NaN
      (3)如果是继续解析,直到非数值模式为止
      (4)0开头会当做八进制,0x开头会当做十六进制,但是可以第二个参数指定基数

    ==与===有什么区别

    • ==是值相等,js会在一些情况下进行隐式的类型转换后再进行比较;
    • ===是严格相等,不会转换数据类型;

    break与continue有什么区别

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

    void 0 和 undefined在使用场景上有什么区别

    • void 0 在任何场景下返回值都是underfind;
    • underfind 在局部作用域中会被覆写;

      以下代码的输出结果是?为什么?

    Paste_Image.png

    以下代码的输出结果是?

    Paste_Image.png

    以下代码的输出结果是?

    Paste_Image.png

    遍历数组,把数组里的打印数组每一项的平方

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

    遍历 JSON, 打印里面的值

        var obj = {
            name: 'hunger', 
            sex: 'male', 
            age: 28 
                      }
    
      for(var key in obj){
          console.log(obj,key+":"+obj[key]}
           //输出  name: 'hunger', 
                      sex: 'male', 
                      age: 28
    

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

     var a = 1, b = 2, c = 3;
     var val = typeof a + b || c >0;
     console.log(val); //结果为number2。val值为"number2",只要“||”前面为             true,无论“||”后面是true还是false,结果都返回“||”前面的值。
    
    var d = 5;
    var data = d ==5 && console.log('bb');
    console.log(data);//结果为bb,data值为bb,只要“&&”前面是false,无    论“&&”后面是true还是false,结果都将返“&&”前面的值。
    
    var data2 = d = 0 || console.log('haha');
    console.log(data2);//结果为haha,只要“||”前面为false,无论“||”后面是   true还是false,结果都返回“||”后面的值。
    
    var x = !!"Hello" + (!"world", !!"from here!!");
     console.log(x);//结果为2,空字符串为false,非空则为true,var x = true+(false+true),true为1,1+1=2。

    相关文章

      网友评论

          本文标题:任务2 运算符及运算符的优先级

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