时间:2021-05-26
*#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'.
好了,今天内容就先到这里了,小伙伴们如有疑问,就在下方留言吧。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、变量说到javascript中的delete操作符,还是首先要搞清楚javascript中的变量和属性之间的关系。javascript中,变量和对象属性关系
1.typeof操作符:用于检测给定变量的数据类型复制代码代码如下:varmessage="somestring";alert(typeofmessage);/
1.typeof操作符示例://数值typeof37==='number';//字符串typeof''==='string';//布尔值typeoftrue==
剩余操作符之前这篇文章JavaScript展开操作符(Spreadoperator)介绍讲解过展开操作符。剩余操作符和展开操作符的表示方式一样,都是三个点'…'
Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。void操作符用法格式如下:1.javascript:void(expre