数据结构


判断数据类型的方法:
this.drivers = new Array("Mike","John");
(typeof this.drivers)+","+(this.drivers instanceof Array)
image.png

typeof 显示数据类型 ( 6种 Data type,不够具体 ),instance比较对象是否是该数据类型并返回True / False 。(比 typeof 更具体)

除了typeof还有instance两种之外还有constructor。
e.constructor === Function

prototype的<\span style="color:red"}>\原型方法\ :

在面向对象中一但创立了对象,则成员变量则不可更改,但是JS中可以再接着添加成员变量

var bill=new employee("Bill Gates","Engineer");
employee.prototype.salary=null;
bill.salary=20000;          
document.write(bill.salary);

bill.toString( ) =  function( ){ alert(this.name); } ;
// 只对该对象添加了方法,对其他对象不管用。
employee.toString( ) =  function( ){ alert(this.name); } ;
// 对所有employee的对象添加了该方法。
Object.toString( ) =  function( ){ alert(this.name); } ;
// 对所有对象添加了该方法。

还有哪些有趣的数据结构?

1.Number类型

NaN:非数字类型。特点:① 涉及到的 任何关于NaN的操作,都会返回NaN ② NaN不等于自身。
isNaN()函数,用于判断是否是一个非数字类型。如果传入的参数是一个非数字类型,那么返回true;否则返回false;

  • 数值转换:
    Number()转型函数,可以用于任何数据类型;
    parseInt(),将值转换为整型,用的比较多;
    parseFloat();将值转换为浮点型。

2.String类型

str.length
  • 转型函数String(),适用于任何数据类型(null,undefined 转换后为null和undefined);toString()方法(null,defined没有toString()方法)。

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


4.Null类型
null类型被看做空对象指针,前文说到null类型也是空的对象引用。只有一个值,即null值,所以,在你 用typeof 操作符去检测null类型的值时,结果是object类型。

  • 因为null的typeof是Object,所以必须用==null来判断是不是为null。

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


  1. Object类型

  1. Set类型
s = new Set()   
s.add("Thomas Jefferson");    
s.size       //  容器大小
为什么不用instance呢?
  • instanceof 操作符的问题在于,它假定只有一个全局执行环境。如果网页中包含多个框架,那实
    际上就存在两个以上不同的全局执行环境,从而存在两个以上不同版本的Array 构造函数。如果你从
    一个框架向另一个框架传入一个数组,那么传入的数组与在第二个框架中原生创建的数组分别具有各自
    不同的构造函数。

你可能感兴趣的:(数据结构)