我是靠谱客的博主 内向水池,最近开发中收集的这篇文章主要介绍js中布尔值为false的六个形式和判断数据类型的方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.空字符串  " "

2.数字为 0

3.不是一个数字 NaN

4.空对象 null

5.未定义 undefined

6.false

                    

使用 typeof 操作符可以返回变量的数据类型。

  1. typeof x; // 获取变量 x 的数据类型

  2. typeof(x); // 获取变量 x 的数据类型  加括号可以在括号里面写表达式或者隐式转换

  • 基本数据类型(值类型):字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol;

  • 引用数据类型:对象(Object)、数组(Array)、函数(Function)。

tip:Symbol 是 ECMAScript6 中引入的一种新的数据类型,表示独一无二的值。

NaN是数字类型,它本身一个字符不是数字 ,它不等于它本身

判断数据类型

1.typeof

2.instanceof

3.constructor

4.Object.prototype.toString.call()  这个判断数据类型更准确


console.log("数据类型");
console.log(typeof 1); //"number"
console.log(typeof typeof 1); //"string" //typeof返回的结果是字符串类型
console.log(typeof true); //"boolean"
console.log(typeof []); //"object"//不能判断是否是数组
console.log(typeof null); //"object"//判断不了null
console.log(typeof undefined); //"undefined"
console.log(typeof function () {}); //"function"
console.log(typeof {}); //"object"
// 判断是否为数组类型
console.log("判断是否为数组类型");
console.log([] instanceof Array);
console.log([].constructor === Array);
console.log(Array.isArray([1, 2, 3]));
console.log(Object.prototype.toString.call([]));
console.log(Object.prototype.toString.apply([]));
//封装判断方法
function is(p, type) {
//注意拼接object要加一个空格
return Object.prototype.toString.call(p) === "[object " + type + "]";
}
function isArray(p) {
return is(p, "Array");
}
function isBoolean(p) {
return is(p, "Boolean");
}
function isNumber(p) {
return is(p, "Number");
}
function isString(p) {
return is(p, "String");
}
console.log("判断类型");
console.log(isArray([])); //true
console.log(isArray({})); //false
console.log(isString("123")); //true
console.log(isNumber("123")); //false
//instanceof 判断对象的类型(引用数据类型),判断原型链中是否找到该类型的原型
console.log(1 instanceof Number); //false 数字是基础数据类型
console.log(true instanceof Boolean); //false
console.log([] instanceof Array); //true
console.log([] instanceof Object); //true
function myinstanceof(before, after) {
let proto = before.__proto__;
let prototype = after.prototype;
while (true) {
if (!proto) return false;//null Object.prototype.__proto__
if (proto === prototype) return true;
proto = proto.__proto__; //继续找原型上的对象
}
}
console.log(myinstanceof([],Object));//true
console.log(myinstanceof([],Array));//true
console.log(myinstanceof([],Number));//false

最后

以上就是内向水池为你收集整理的js中布尔值为false的六个形式和判断数据类型的方法的全部内容,希望文章能够帮你解决js中布尔值为false的六个形式和判断数据类型的方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(31)

评论列表共有 0 条评论

立即
投稿
返回
顶部