JavaScript 内存图 对象

1、类型转换:


1.1、其他类型转为数字  

(1)、使用正常的函数(API):Number() 

(2)、使用全局函数(API)转为整数:parseInt(转换的数据,转化的进制)       记住、必考

parseInt()

        1、parseInt() ,括号里面必须写要转化的进制,0-32 内任何数字都可以。

        2、parse意思是解析,在数据中从左开始能parse多少就parse多少。

        3、parseInt()方法只能把数字组成的字符串转换为相应的数字,其它类型的都会转为NaN.

(3)、使用全局函数(API)转为浮点数:parseFloat(数据)

parseFloat() ,括号里面只写要转化的数据就行,浮点数只能转为10进制。

(4)、特殊方法 1:任何数据 - 0(常用)

这个方法既能转换为整数,也能转换为浮点数。最后结果以原数据类型为准。

(5)、特殊方法 2:取真,+ 其他类型数据



1.2、其他类型转为字符串

(1)、使用正常的函数(API):toString()

xxx.toString()

注:1、没有写symbol类型的转换。

        2、从图中可以知道该方法 对 null / undefined 类型转换之后会报错。

        3、object对象转换以后变成 "[object Object]"  。其它类型都是变量值外部加引号。

(2)、与空字符串相加方法:

                xxx + ' '   ——   变量 + 空字符串就可以啦,原理:如果加号 ‘+’ 左右任意一边有字符串,它就优先尝试把其他类型的变量转换为字符串。

xxx + ' '方法

注:1、没有写symbol类型的转换。

        2、从图中可以知道该方法 对 null / undefined 类型也适用。

        3、object对象转换以后变成 "[object Object]"  。其它类型都是变量值外部加引号。

        4、该方法相比 toString()方法,简捷,使用范围广。建议使用该方法。

        5、原则上 js 中不同数据类型之间不能相加,但是由于 加号 ‘ + ’ 的不同环境中的不同运算功能,会出现下面情况:

        var num = 1;

        num + ' 1'

        // " 11 "

上面代码块的执行原理:加号会优先把数值num = 1 转换为字符串 ' 1 ',再相加,结果为 " 11 "  .

(3)、全局函数方法:window.String()方法

window.String()方法

    注:1、没有写symbol类型的转换。

            2、从图中可以知道该方法 对 null / undefined 类型也适用。

            3、object对象转换以后变成 "[object Object]"  。其它类型都是变量值外部加引号。

            4、该方法与第二种方法的功能一样。


1.3、其他类型转为布尔值

所有的数据类型都可以变成布尔值。

从其他类型数据的转换为布尔值时只有以下四个 falsy 值,其他的都是true;(falsy值就是在布尔值上下文中认定可以转化为false的值)

1、number类型(2个): 0、NaN  结果为false;

2、字符串:'' 空字符串结果为false;

3、null 结果为false;

4、undefined  结果为false;


(1)、全局函数Boolean()

Boolean()方法

    注:1、数字只要不是 0 ,转为布尔值后都是 true ;

            2、只有空字符串才会返回false,其他(包括空字符串)都是false;

            3、null   和 undefined都会返回fasle;

            4、对象类型(包括空对象、函数、所有的数组)都会返回true;

(2)、!!后加数据类型 (常用方法)

!!+数据类型

注:得到的结果和Boolean()方法一样。




2、内存图:

内存和外存的区别:

内存必须通电,一旦断电,里面的东西全部失去,外存不会这样。内存输入输出速度快,外存慢,最快的SSD外存接近内存的速度,不容易坏,但贵而且一旦坏了就再也用不了整个都读不了,一般的外存是机械硬盘,但是容易坏10年左右,但是坏掉了还能用,只要不读那一部分就行。

所有涉及到类型为对象的数据都可以用内存图来形象的表示!

内存:

内存图


存储对象的关于内存的几种情况:

对象运行例子
垃圾回收
IE解决bug

普通对象和复杂对象的主要区别:

1、简单数据类型的数据在js执行时直接在栈内存中存储。

2、而复杂的数据类型(对象)在js执行时先在Stack栈内存中存储对Heap堆内存对应的地址,然后在Heap堆内存中在很大空间中存储数据。

3、在JS中对于对象的操作叫做引用且只能是引用,没有指针的概念。

4、字符串string的存储方式不一定,可能和简单数据类型一样,也可能和对象一样。


3、深复制 && 浅拷贝:

浅拷贝——

深拷贝——

        1、所有基本(简单)类型的值涉及到赋值,只在Stack栈内存中存储,这类的赋值操作都是把内容改了,这种内容改变而不是拷贝的过程叫做深拷贝。(b变不影响类)

        2、所有对象类型数据参与,操作过程中只把Stack栈内存的地址拷贝了,没有拷贝Heap堆内存的内容,而是改变了内容,这就叫浅拷贝。(b变致a变类型)

        3、在对象类型数据之间涉及到把原来的Heap对内存中的内容修改或新开Heap对内存区的操作也叫深拷贝。

        4、浅拷贝只在涉及到数据类型为对象时才有的概念。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354