最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

javascript中typeof操作符和constucor属性检测_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 21:34:49
文档

javascript中typeof操作符和constucor属性检测_javascript技巧

javascript中typeof操作符和constucor属性检测_javascript技巧:*#type.js 代码如下: function Person(name, age) { this.name = name; this.age = age; } var d = {an: 'object'}; var a = ['apple', 'banana']; var f = function() {}; var s = 'David'; var
推荐度:
导读javascript中typeof操作符和constucor属性检测_javascript技巧:*#type.js 代码如下: function Person(name, age) { this.name = name; this.age = age; } var d = {an: 'object'}; var a = ['apple', 'banana']; var f = function() {}; var s = 'David'; var


*#type.js

代码如下:
function Person(name, age) {
this.name = name;
this.age = age;
}
var d = {an: 'object'};
var a = ['apple', 'banana'];
var f = function() {};
var s = 'David';
var n = 33;
var b = true;
var o = new Object();
var person = new Person('Mark', 22);
console.log(typeof(d) + ': ' + d.constructor);
console.log(typeof(a) + ': ' + a.constructor);
console.log(typeof(f) + ': ' + f.constructor);
console.log(typeof(s) + ': ' + s.constructor);
console.log(typeof(n) + ': ' + n.constructor);
console.log(typeof(b) + ': ' + b.constructor);
console.log(typeof(o) + ': ' + o.constructor);
console.log(typeof(person) + ': ' + person.constructor);

运行$node type.js得

代码如下:
object: function Object() { [native code] }
object: function Array() { [native code] }
function: function Function() { [native code] }
string: function String() { [native code] }
number: function Number() { [native code] }
boolean: function Boolean() { [native code] }
object: function Object() { [native code] }
object: function Person() { [native code] }

可见, 使用typeof操作符和constucor属性检测对象类型返回值是存在差异的.

如果变量是数组, typeof操作符返回object, constructor属性返回Array;
如果变量是构造函数对象, typeof操作符返回object, constructor属性返回该构造函数
每个变量都有其construcor属性, 这个属性不单单提供了这个是否对象, 还提供了这个对象是什么类型的对象. 总之, constructor属性保存了一个指向对象的构造函数, 无论它是自定义的还是原生类型的对象.

有一点需要注意的是, 不同的浏览器对typeof操作符检测正则表达式会有所不同,IE和Firefox会返回'object'.

好了,今天内容就先到这里了,小伙伴们如有疑问,就在下方留言吧。

文档

javascript中typeof操作符和constucor属性检测_javascript技巧

javascript中typeof操作符和constucor属性检测_javascript技巧:*#type.js 代码如下: function Person(name, age) { this.name = name; this.age = age; } var d = {an: 'object'}; var a = ['apple', 'banana']; var f = function() {}; var s = 'David'; var
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top