js 数据类型

原始数据类型:

number(数值)、boolean(布尔:判断真假)、string(字符串)、undefined(声明未赋值)、null(声明赋值为空,类型无法确定,在接下来的使用中进行确定)、symbol(唯一标志符)

引用数据类型:

function(函数)、array(数组)、object(对象)

 

两种数据类型变量的存储方式的不同,在变量赋值发生变化时出现的不同情况

1、原始数据类型的变量值存储在中:

         var a = 23;   var i = a;   a = 34;   此时,i 中的值仍为23;(a 只是将变量值赋值给了 i,之后 a 的改变与 i 无关);

2、引用数据类型的变量在栈中存储了变量值的存储地址,实际变量值则存储在堆中(假设b的变量值的存储地址为0x001)

         var b = [ 23,34,45,3 ];  var j = b;  b = [ 90,67,5,3 ];   此时b 中的值为 [ 90,67,5,3 ];(b 则是将变量值的存储地址赋给了 j,此时b 和 j 的变量值存储地址同时指向地址#001);

如图所示:

 

 

js六大假值:null、undefined、false、0、NaN、空字符串''  ==>  返回均为false;

 

typeof判断字符串类型,但无法识别null、array、object,此三者输出类型均为object

数字, typeof( 1 )  == 'number' ;

字符串,typeof( 'jia' ) == 'string';

布尔,typeof( true ) == ‘boolean’;

null,typeof( null ) == 'object';

undefined,typeof( undefined ) == 'undefined';

symbol,typeof( Symbol() ) == ‘symbol’;

array,typeof( [] ) == ‘object’;

function,typeof( function(){} ) == 'function';

object,typeof( {} ) == ‘object’;

 

null  和  undefined 的比较:

null == undefined; // true

null == undefined; // false

 

unicode编码

数字范围:0 ~ 9

汉字范围:\ue400 ~ \u9fa5

字母范围:A ~ z (字母之间存在其他字符的unicode码)

其他字符

 

typeof判断类型

var n = '0' ;

var result = ( typeof n == 'number' || n != ' ') ? '数字' : ((n >= '\u4e00' && n <= '\u9fa5') ? '汉字' : ((n >= 'A' &&  n <= 'Z'|| n >= 'a' &&  n <= 'z') ? '字母' : '其他字符')) ;

console.log('result ==> ', result);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值