SJ基本类型

基本类型

基本的数据类型有:`undefined,boolean,number,string,null.基本类型的访问是按值访问的,就是说你可以操作保存在变量中的实际的值。
基本类型有以下几个特点:

1.基本类型的值是不可变得:

任何方法都无法改变一个基本类型的值,比如一个字符串:

var name 'jozo';
name.toUpperCase()// 出 'JOZO'
console.log(name)// 出  'jozo'
 
 



会发现原始的name并未发生改变,而是调用了toUpperCase()方法后返回的是一个新的字符串。
再来看个:

 
var person 'jozo';
person.age 22;
person.method function(){//...};
 
console.log(person.age)// undefined
console.log(person.method)// undefined
 
 



通过上面代码可知,我们不能给基本类型添加属性和方法,再次说明基本类型时不可变得;

2.基本类型的比较是值的比较:

只有在它们的值相等的时候它们才相等。
但你可能会这样:

 
 
var 1;
var true;
console.log(== b);//true
 


它们不是相等吗?其实这是类型转换和 == 运算符的知识了,也就是说在用==比较两个不同类型的变量时会进行一些类型转换。像上面的比较先会把true
转换为数字1再和数字1进行比较,结果就是true了。 这是当比较的两个值的类型不同的时候==运算符会进行类型转换,但是当两个值的类型相同的时候,
即使是==也相当于是===。
 

 
var 'jozo';
var 'jozo';
console.log(=== b);//true
 
 



3.基本类型的变量是存放在栈区的(栈区指内存里的栈内存)

假如有以下几个基本类型的变量:

var name 'jozo';
var city 'guangzhou';
var age 22;
 
 



那么它的存储结构如下图:

 




栈区包括了 变量的标识符和变量的值。

posted @ 2022-01-11 00:12  昊昊嘞  阅读(56)  评论(0编辑  收藏  举报