首页 > 语言 > JavaScript > 正文

《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型

2024-05-06 14:22:27
字体:
来源:转载
供稿:网友
2.8 引用类型

1、Object类
  ECMAScript中的所有类都是由Object类继承而来。

  Object类具有下列属性:

  Constructor:对创建对象的函数的引用(指针),对于Object类,该指针指向原始的Object()函数

  Prototype:对该对象的对象原型的引用。

  Object类还有几个方法:

  HasOwnProperty(property):判断对象是否有某个特定的属性。必须用字符串指定该属性值

  IsPrototypeOf(object):判断该对象是否为另一个对象的原型。

  PropertyIsEnumerable(property):判断给定的属性是否可以用for...in语句进行枚举

  ToString():返回对象的原始字符串表示。

  ValueOf():返回最适合该对象的原始值。对于许多类,该方法返回的值都与toString()的返回值相同。

  上面列出的每种属性和方法都会被其他类覆盖。

2、Boolean类
  在ECMAScript中很少使用Boolean对象,因为不易理解,如:
代码如下:
var oFalseObject = new Boolean(false);
var bResult= oFalseObject && true; //outpus true

  在这段代码中,用false值创建Boolean对象,然后用这个值与原始值true进行 AND 操作。在Boolean运算中,false和true进行AND 操作的结果是 false。不过,在这行代码中,计算的是oFalseObject,而不是它的值false。在Boolean表达式中,所有对象都会被自动转换为true,所以结果为true。参考下面的代码:
代码如下:
var oFalseObject = new Boolean(false);
var bResult= oFalseObject && true; //outpus true
var bResult2= oFalseObject.valueOf() && true; //outpus false

3、Number类
  Number的toString()方法在上篇文章中有详细的介绍。

  Number有几个处理数值的专用方法:

  toFixed(参数):返回的是具有指定位数小数的数字的字符串表示。参数范围为0—20

  toExponential(参数):返回的是用科学计数法表示的数字的字符串形式。与toFixed()方法相似,toExponential()也有一个参数要输出的小数的位数。参数范围为0—20

  toPrecision(参数):根据最有意义的形式来返回数字的预定形式或指数形式。它有一个参数,即用于表示数字总数(不包括指数)。参数最小为1

  以上三个方法都会进行舍入操作。示例代码:
代码如下:
var oNumber=new Number(99);
console.log(oNumber.toFixed(0)); //outpus 99
console.log(oNumber.toFixed(2)); //outpus 99.00

var oNumber1=new Number(99);
console.log(oNumber1.toExponential(0)); //outpus 1e+2 进行了舍入操作
console.log(oNumber1.toExponential(1)); //outpus 9.9e+1
console.log(oNumber1.toExponential(2)); //outpus 9.90e+1

var oNumber3=new Number(99);
console.log(oNumber3.toPrecision(0)); //outpus error precision 0 out of range
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选