js 数据类型相关?
2021-03-01 17:27
标签:bool fine OLE 不同 function int tostring number rgb 一、数据类型 1、基础类型:null,undefined,string,number,boolean,bigint,symbol; 2、引用类型:object,array等都算是引用类型; 二、两种类型之间的区别 1、基础类型:存储在栈内存中,大小固定,方便快速查找; 2、引用类型:存储在堆内存中,存储一个指针,通过指针查找对应存储的的大值; 三、赋值引起的问题 1、基础类型:直接赋值,没有问题; 2、引用类型:赋值给新对象,新对象修改,原对象的值也需要修改; 三、如何判断数据类型 1、typeof:可以判断基础类型; 2、instanceof:可以判断引用类型,但是不完全; 3、Object.prototype.toString.call(arg):可以判断所有类型; 四、undefned与null有什么不同 1、undefined:表示已定义但是未赋值; 2、null:代表值为空,内存中找不到值地址指向; 五、判断对象{}为空 1、Object.keys({}).length === 0; 2、JSON.stringify({}) === ‘{}‘; 后续继续完善 js 数据类型相关? 标签:bool fine OLE 不同 function int tostring number rgb 原文地址:https://www.cnblogs.com/cxyqts/p/14400804.htmlvar a = {};
var b = a;
b.name = ‘name‘;
console.log(a); // {name:name}
function person() {
this.name = 10;
}
// typeof
typeof 1; // number
typeof ‘1‘; // string
typeof true; // boolean
typeof null; // object
typeof undefined; //undefiend
typeof Symbol; // function
typeof person; // function
typeof []; // object
typeof {}; // object
// instanceof
person instanceof person; // true
// Object.prototype.toString.call(arg)
Object.prototype.toString.call(1); //[object Number]
Object.prototype.toString.call(‘1‘); //[object String]
Object.prototype.toString.call(true); //[object Boolean]
Object.prototype.toString.call(null); //[object Null]
Object.prototype.toString.call(undefined); //[object Undefined]
Object.prototype.toString.call(Symbol); //[object Function]
Object.prototype.toString.call(person); //[object Function]
Object.prototype.toString.call([]); //[object Array]
Object.prototype.toString.call({}); //[object Object]