html5 - javascript中的类型
天蓬老师
天蓬老师 2017-04-10 17:47:12
0
3
342

1.在《JavaScript高级程序设计》第三版的第23页,作者有很明确的描述:

ECMAScript中有5种简单数据类型(Undefined,Null,Boolean,Number,String),一种复杂类型(Object)

2.在JavaScript秘密花园的对象部分,也有很明确的描述:

JavaScript 中所有变量都是对象,除了两个例外 null 和 undefined

所以我的问题是:

1.var bol = true; var num = 1; var str = 'abc',其中的bol,num,str 到底是对象还是基本类型?

2.JavaScript中声明了一个基本类型,到底有没有调用相应包装类型的构造器?

下面是我做的测试,大神可忽略:


 var num = 1;
 var numObj = new Number(1);
 console.log(num instanceof Number); // false
 console.log(num.constructor); // Number
 console.log(numObj instanceof Number); // true
 console.log(numObj.constructor); // Number

 var bol = true;
 var bolObj = new Boolean(true);
 console.log(bol instanceof Boolean); // false
 console.log(bol.constructor); // Boolean
 console.log(bolObj instanceof Boolean); // true
 console.log(bolObj.constructor); // Boolean

 var str = "abc";
 var strObj = new String("abc");
 console.log(str instanceof String); // false
 console.log(str.constructor); // String
 console.log(strObj instanceof String); // true
 console.log(strObj.constructor); // String

测试中有很疑惑的地方:基本类型的值,它们虽然不是相应包装类型的实例,但是constructor却指向相应的包装类型。。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!