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

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

遍历 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 运算符及运算符的优先级)