进阶2

2017-10-01  本文已影响0人  饥人谷_严琰

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

JavaScript语言的每一个值,都属于某一种数据类型。JavaScript的数据类型,共有六种。

数值、字符串、布尔值称为原始类型(primitive type)的值,即它们是最基本的数据类型,不能再细分了。

将对象称为复杂类型(complex type)的值,因为一个对象往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器。

至于undefined和null,一般将它们看成两个特殊值。

typeof和instanceof的作用和区别?

typeof是一元运算符,返回值为字符串,该字符串用来说明运算数的数据类型。返回的值有number、boolean、undefined、function、object、string

instanceof用于判断某个变量是否是某个对象的实例,返回值为true或false

var a=new Date();console.log(a instanceof Date);
 true
console.log(a instanceof Array)
false

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

typeof和toString
toString方法举例:

image.png

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

NaN ,即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)
特点:

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

==与===有什么区别

对于===:

对于==:

break与continue有什么区别

break:跳出循环,在一个循坏体内,一旦碰到break那么立即跳出循坏,后面所有的循坏都将不再执行。

    for(var i=1;i<10;i++){
        if(i%4 == 0){
            break;
        }
        console.log(i);打印的结果是(1,2,3)
    }

continue:跳出本次循环后,执行下次循坏

   for(var i=1;i<10;i++){
       if(i%4 == 0){
           continue;
       }
       console.log(i);打印的结果是(1,2,3,5,6,7,9)
   }

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

对于undefined,它的在全局作用域中,不会被重写,但在局部作用域中可以被重写。
对于void可以给任何给定的表达式求值,并返回 undefined,并且 void 不可被重写,因此void 0是在局部作用域中替代undefined的最佳选择

上一篇下一篇

猜你喜欢

热点阅读