js中数字字面量的constructor - jarry - 我想去非洲
arguments对象的高级用法
加快主页加载速度的优化

js中数字字面量的constructor

jarry posted @ 2009年8月25日 00:11 in javascript , 1454 阅读

我们知道js中的所有对象(null和undefined除外)都有一个constructor属性

但是对于数字字面量直接.constructor会报错,像下面这样:

  1. alert(1.constructor);

于是我们就变通一下:

  1. alert(1['constructor']);
  2. //或
  3. var n = 1;
  4. aiert(n.constructor);

正常了。

今天看到了一篇文章,对第一种情况作出了另一种解释,据说alert(1.constructor)在js引擎中相当于这样:alert(1.0constructor);,当然会报错了,那怎么避免呢?作者给出了一种方法:

  1. alert(1..constructor);
  2. //或
  3. alert(1 .constructor);//1后面有个空格
这样就相当于alert(1.0.constructor)了,呵呵,是不是很邪恶?
(程序可自由转载,但是请注明出处)

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter