关于JS个人记忆加深总结
一、数据类型的转换
按理来说这个是很简单的内容 但我觉得ta值得记一下
常用的数据类型转换:
Number(数字) 涉及到整型与浮点型用到的方法——Number()、parseFloat()、parseInt()
String(字符串) 应用到的方法String()此函数用于对字符串的相应处理、toString()此方法用与字符串类型的转换
Boolean(布尔)用于将值转化为布尔值 除了“0/NaN/空字符串/null/undefined”五个值是false,其余都是true
二、JS的垃圾回收机制
JavaScript中的垃圾收集器会自动释放程序不再使用的内存。它通过定期检查内存堆中不再被程序引用的对象来实现这一点。如果发现对象不可达,则将其标记为垃圾收集,并释放其内存。当对象值null或者无指向时它就会被打上标记 如果不及时释放回收会导致内存泄漏 如闭包就很好的诠释的这个问题如果不及时释放就会造成内存堆积
三、JS栈和堆的概念
栈和堆是很重要的两个概念 栈是一种线性数据具有先进后出的特点 堆是一种树状结构 用于动态分配内存
JS中的原始类型存储在栈中,而对象和数组存储在堆中
四、浅拷贝与深拷贝
简单的理解就是一个深一个浅 但又没这么简单 浅拷贝只是复制对象的第一层 深拷贝则复制整个对象
浅拷贝 有两种方式Object.assign()可以将所有可枚举属性从一个或多个源对象复制到目标对象。ta返回目标对象,第二种就是扩展运算符“...”
深拷贝比较复杂一点 可以通过将对象转换为 JSON 字符串,然后将其解析回 JavaScript 对象,JSON.parse() 和 JSON.stringify()
const obj = { a: 1, b: { c: 2 } };
const copy = JSON.parse(JSON.stringify(obj));
console.log(copy); // { a: 1, b: { c: 2 } }
五、arguments
arguments是js中的一个特殊对象 它所包含的是函数调用时传递的所有参数 可以理解为它是你传的参数然后整合成了一个类数组对象 它并不能使用所有的数组方法 当然可以将arguments转换成一个真正的数组
使用Array.prototype.slice.call(arguments)方法 这个方法将arguments对象作为slice方法的上下文,并返回一个包含所有参数的新数组。
六、JS严格模式
严格模式是JS的一种执行模式 它强制执行更严格的语法和错误处理 在此模式下一些不安全的操作将会被禁止 并在一些情况下代码将跑的更快
使用方法是在文件或者函数开头添加“use strict”开启 开启后 一些常见的错误将会被捕获并抛出错误
七、函数声明提升
函数声明提升是指函数声明会被提升到当前作用域的顶部 这样就不会出现声明之前调用函数报错的情况了
值得注意的是函数声明与函数表达式是两种声明方式函数表达式不能被提升
myFunction();function myFunction() {console.log("Hello World!");
}
//函数声明
myFunction();var myFunction = function() {console.log("Hello World!");
}
//函数表达式
关于JS个人记忆加深总结相关推荐
- 记忆翻牌游戏代码html,原生JS实现记忆翻牌游戏
本文实例为大家分享了JS实现记忆翻牌游戏的具体代码,供大家参考,具体内容如下 html代码 css代码 * { padding: 0; margin: 0; } #game { width: 600p ...
- Web前端---HTML+CSS+JS实现记忆纸牌游戏
游戏介绍: js实现扑克牌翻牌记忆小游戏代码.连续点击翻开两张扑克牌,相同去重,不同则合上重新翻,考验你的记忆力. 视频演示: 挑战记忆力-Web前端实现记忆纸牌游戏.mp4 主要源码展示: styl ...
- 第一集 斗罗世界 第八章
第一集 斗罗世界 第八章 魂导器,二十四桥明月夜(一) "老师,修炼时间越长的魂兽实力就越强,所产生的魂环效果也就越好.这强大的地方究竟表现在哪些方面呢?"唐三问道. 大师僵硬的面 ...
- web项目访问跳转的时候跳转页面空白 页面空白 控制台也不报错
练习了一个简单的用户登录案例,但是跳转的时候 窗口空白, 控制台也没有错误,当时百度了很多,但是都解决不了,耗费了很长时间, 后来觉得只能靠自己了,之前debug过,数据库查询返回是没问题,就是在跳转 ...
- 本周ACM总结以及最近ACM心得小结
总算交上作业了,亲爱的博客一周未见总算要来写我亲爱的博客了~ 还是和往常一样先说点这周看到的印象深点的例题或者给过我小灵感小启发的题 先从开始简单点的 并查集和环说起: 我在看题解是看到说,并查集很重 ...
- (2012.12.25)我的中级软件设计师考试
我的中级软件设计师考试 ―― 2012.12.25(By: Neicole) 一.开篇 中级软件设计师,合格分是45/75(上午题)+ 45/75(下午题),然后,这次低分险过52+51.本文仅想简单 ...
- 基于Python根据置信度区间计算植被覆盖度
"把别人的经验变成自己的,他的本事就大了" 1 简述 大概九天前,我发了篇记录,大致是讲用Python计算Landsat8遥感生态指数RSEI,也就是下篇 "基于Pyth ...
- 题海精华——算法题精选
前言 做了一周的算法题,在原有的算法基础上进行一些深化的题目.主要是将一些做过比较好的题的思路,并且一边做,一边也修改了一些之前发的文档优化解题方式. 类似于错题重错,一错再错,死不悔改,至死方休的记 ...
- 用计算机用语说唯美的话,经典说说唯美句子
经典说说唯美句子 一:如果以后你会不经意地想起我,请别忘记我曾那样深深地爱过你 二:原来最悲伤的是眼泪哭干了,心还是那么痛. 三:以前试着用微笑细数你给的伤,无奈最后泪却随微笑流出眼眶. 四:这世界上 ...
最新文章
- 解决oracle11g安装导致数据库无法自动搜集统计信息-转
- UIPickerView
- android cookie保存,android本地保存Cookie和还原到cookiestore
- Pycharm同步git代码提示:Merge failed
- LINUX 触摸屏驱动
- mysql修改界面代码_mysql修改编码
- 德哥:从Oracle DBA到PostgreSQL布道者
- java8电脑版安装包下载百度云_everything电脑文件搜索工具
- SAP S/4HANA Layer Repository(LREP)的读取逻辑调试
- 算法:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。
- 如何删除XP系统的NETWARE,改变登陆界面 火急!!XP系统登录界面由于netware造成的不能更改...
- 隐藏文件的查看(Win/Linux/macOS)
- k64 datasheet学习笔记1---概述
- android 带刻度的滑动条_Android自定义滑动刻度尺
- 《GTA5》揭秘游戏背后的故事
- mmo中匹配机制的思考与实现
- Node.js(三)路由器、中间件、MySQL模块、RESTful接口
- R语言——如何调用自己写的函数
- 神仙思维导图:XMind的介绍
- WPC Qi 无线充电标准入门介绍与测试