JS 里的数据类型

2018-05-14  本文已影响0人  鋕畵

JS中的数据类型可以分为七种:string 、number、boolean、symbol、  underfine 、null和object。

typeof 操作符

由于js中的变量是松散类型的,所以它提供了一种检测当前变量的数据类型的方法,也就是typeof关键字.

typeof   123   //Number

typeof   'abc'  //String

typeof    true       //Boolean

typeof    undefined   //Undefined

typeof    null        //Object

typeof    { }           //Object

typeof    [ ]           //Object

typeof    console.log()       //Function

null类型进行typeof操作符后,结果是object,原因在于,null类型被当做一个空对象引用。

以下是七种数据类型的详解

1.String类型

字符串有length属性。

字符串转换:转型函数String(),适用于任何数据类型(null,undefined 转换后为null和undefined);toString()方法(null,defined没有toString()方法)。

2.Number类型

Number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一位数字)两种值。

NaN:非数字类型。特点:① 涉及到的 任何关于NaN的操作,都会返回NaN   ② NaN不等于自身。

isNaN() 函数用于检查其参数是否是非数字值。

isNaN(123)  //false   isNaN("hello")  //true

3.Boolean类型

该类型只有两个值,true和false

4. symbol类型

ES6新增类型,Symbol类型的对象永远不相等,即便创建它们的时候传入了相同的值,因此,可借助此特性解决属性名的冲突问题(比如适用于多人编码的时候),这也是该数据类型存在的主要用途,意为标记。

5.Undefined类型

只有一个值,即undefined值。使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined。

6.Null类型

null类型被看做空对象指针,前文说到null类型也是空的对象引用。

7.Object类型

object 就是上面几种基本类型(无序地)组合在一起

object 里面可以有 object

  var person = {

      name: 'Frank',

      'child': {

          name: 'Jack'

      }, // 最后这个逗号可有可无

  }

object 的 key 一律是字符串,不存在其他类型的 key

object[''] 是合法的

object['key'] 可以写作 object.key

注意 object.key 与 object[key] 不同

delete object['key']

'key' in object

JS中的数据也可以按照存储方式分为值类型和引用类型。前六种数据都只有值,属于值类型。只有Objiect属于引用类型,它有三种引用类型,如下所示:

1.Object类型

我们看到的大多数类型值都是Object类型的实例,创建Object实例的方式有两种。

第一种是使用new操作符后跟Object构造函数,如下所示

var person = new Object();

person.name = "Micheal";

person.age = 24;

第二种方式是使用对象字面量表示法,如下所示

var person = {

  name : "Micheal",

  age : 24

};

2.Array类型

数组的每一项可以用来保存任何类型的数据,也就是说,可以用数组的第一个位置来保存字符串,第二个位置保存数值,第三个位置保存对象....另外,数组的大小是可以动态调整的。

创建数组的基本方式有两种

第一种是使用Array构造函数,如下所示

var colors = new Array("red","blue","yellow");

第二种是使用数组字面量表示法,如下所示

var colors = ["red","blue","yellow"];

3 Function类型

每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。函数通常是使用函数声明语法定义的,如下所示

function sum(num1,num2){

  return num1 + num2;

};

这和使用函数表达式定义函数的方式相差无几。

var sun = function (){

  return sum1 + sum2;

};

上一篇下一篇

猜你喜欢

热点阅读