//instanceof 判断引用类型,typeof判断基本类型。
function init() {
//testTypeof();
testInstanceof();
}
window.onload = init;
function testTypeof() {
var str = "123";
var num = 123;
var bool = false;
var unde_d = undefined;
var unde_d2;
var nul = null;
alert(typeof str == "string");//true 注意大小写,js区分大小写
alert(typeof str == "String");//false
//alert(typeof str == string); //错误写法 ,typeof 判断类型需用引号
alert(typeof num == "number");//true
alert(typeof bool == "boolean");//true
alert(typeof unde_d == "undefined");//true
alert(typeof unde_d2 == "undefined");//true
alert(typeof nul == "object"); //true
}
function testInstanceof() {
var str = "123";
var obj = new Object();
var array1 = new Array();
var func = function() {
this.name = "marry";
this.say = function() {
alert("hello " + this.name);
}
}
var func1 = new func();
alert(str instanceof String); //flase
alert(obj instanceof Object);//true
alert(array1 instanceof Array);//true
alert(func instanceof Object);//true
alert(typeof func);//function
alert(func1 instanceof Object);//true
alert(func1 instanceof func);//true
alert(typeof func1);//object
}
分享到:
相关推荐
- `typeof` 更适合用于检测基本类型,尤其是当需要区分`undefined`、`null`、`boolean`、`string`、`number`、`bigint`、`symbol`和`function`时。 - `instanceof` 则适用于检查对象是否属于特定的类或实现了特定的...
然而,`typeof`也有其局限性,例如不能准确判断对象的具体类型,如数组、日期等。此时,我们可以借助其他方法,如`instanceof`或`Object.prototype.toString.call()`,以获取更精确的信息。 总之,`typeof`是...
* typeof 会返回一个变量的基本类型,instanceof 返回的是一个布尔值 * instanceof 可以准确地判断复杂引用数据类型,但是不能正确判断基础数据类型 * typeof 也存在弊端,它虽然可以判断基础数据类型(null 除外)...
- `typeof`主要用来检测基本数据类型,对于引用类型(除了函数)都返回 "object"。 - `instanceof`用于判断对象是否为特定构造函数的实例,依赖于原型链。 在实际编程中,根据需要检查的内容选择合适的操作符,可以...
如果需要判断基本数据类型或者是否声明某个变量,应当使用typeof。如果需要判断一个变量是否属于某一个类的实例,或者一个数组是否由特定的构造函数创建,那么应当使用instanceof。例如,在处理继承关系时,...
在实际编程中,通常会结合使用`typeof`和`instanceof`来更精确地判断数据类型。例如,对于数组的检测,可以先用`typeof`排除非对象,然后用`instanceof`确认是否为数组: ```javascript function isArray(value) { ...
`typeof`用于基本数据类型的判断,但它无法进一步区分所有对象的子类型,比如无法区分`null`和`object`类型,因为`typeof null`也会返回`"object"`。而`instanceof`可以用来判断一个对象是否为某个构造函数的实例,...
- `symbol`:ES6新增的基本类型,表示唯一的标识符。 对于引用类型,`typeof`运算符返回的结果均为`object`。这就包括了数组、日期对象、正则表达式等。例如: ```javascript var arr = [1, 2, 3]; console.log...
它主要用于判断引用类型变量的类型。例如,当我们需要区分Array实例和普通的Object实例时,instanceof就显得非常有用。下面是几个instanceof的使用示例: ```javascript let arr = []; console.log(arr instanceof ...
总结来说,`typeof`和`instanceof`都是JavaScript中用于类型检查的重要工具,它们各有侧重,`typeof`更适用于检测基本数据类型,而`instanceof`则适合于判断对象的实例关系。在实际编程中,理解并正确使用这两个...
Array.isArray()方法是ES5引入的,用来判断一个变量是否为数组,是检查数组类型的一种标准化方法,避免了使用typeof判断数组的不准确性。例如,Array.isArray([])会返回true,表明[]是一个数组。 总而言之,在...
typeof可以用来检测给定变量的基本数据类型,而instanceof用于检测对象是否属于某个特定的引用类型,或者更准确地说,是否是在某个类的原型链上。以下是这两个操作符的详细说明和使用方式: 1. typeof操作符 ...
Object.prototype.toString.call() 是一种最好的基本类型检测方式,它可以区分 null 、string、boolean、number、symbol、bigint、undefined 等基本数据类型。 Constructor 也是判断数据类型的一种方法,但它需要...
这个方法可以方便地判断基本数据类型,如字符串、数字、布尔值、null和undefined。然而,当对象类型是数组、日期或函数等时,`typeof`返回的是"object",无法区分具体类型。此外,`typeof`能识别函数,但不能区分...
数据类型判断的方法 在探索数据类型判断方法的时候我们...我相信typeof这个判断数据类型的方法是大家平常用的比较多的,闲话不多说,直接上代码: console.log(typeof 1);//number console.log(typeof ‘hello’);//st
总的来说,尽管typeof能够简单地用来判断基本数据类型,但在需要精确判断对象类型时,我们往往需要借助Object.prototype.toString方法来获得更准确的结果。同时,在JavaScript中,instanceof运算符在某些场景下能...
`instanceof`能有效区分数组、对象等引用类型的实例,但无法判断基本类型。同时,它只能用于对象的判断,对于`null`和未定义的变量会返回`false`。 除了`typeof`和`instanceof`,还有一些其他的方法可以帮助我们...