JS
抹茶声明
小白~,前端知识学习中
展开
-
装箱和拆箱
装箱和拆箱装箱:把基本数据类型转化为对应的引用数据类型的操作在《javascript高级程序设计》中有这样一句话:每当读取一个基本类型的时候,后台就会创建一个对应的基本包装类型对象,从而让我们能够调用一些方法来操作这些数据。var s1 = "abc";var s2 = s1.indexOf("a")变量s1是一个基本类型值,它不是对象,它不应该有方法。但是js内部为我们完成了一系列处理(即装箱),使得它能够调用方法,实现的机制如下:(1)创建String类型的一个实例;(2)在实例上调用原创 2021-05-19 09:50:11 · 154 阅读 · 0 评论 -
原始值与引用值
原始值与引用值原始值:放在栈里。不能修改。引用值:因为有许多复杂结构,复杂结构创建和销毁需要消耗性能。所以在初创建时是就先放在堆里,堆里有若干对象;达到一定值时第一次查看哪些无引用打上标记,第二次还是无引用就回收掉。使用原始值是使用该对象在堆里的地址。可随时添加、删除和修改类型判断:typeof只能判断基本数据类型,引用值全为objectinstanceof,判断引用值是否为某个构造函数的实例原始值包装类型:因为马上销毁所以后面不能访问,如想一直使用可创建一个对象保存...原创 2021-05-19 09:46:00 · 129 阅读 · 0 评论 -
垃圾回收机制
垃圾回收JavaScript程序每次创建字符串、数组或对象时,解释器都必须分配内存来存储那个实体。只要像这样动态地分配了内存,最终都要释放这些内存以便他们能够被再用,否则,javascript的解释器将会消耗完系统中所有可用的内存,造成系统崩溃。javascript的解析器可以检测到何时程序不再使用一个对象了,当他确定了一个对象是无用的时候,他就知道不再需要这个对象,可以把它所占用的内存释放掉了。var a="hello world";var b="world";var a=b;//这时,会释放原创 2021-05-19 09:42:45 · 146 阅读 · 0 评论 -
正则表达式
正则表达式应用场景:匹配、替换、验证JS中用RegExp对象来封装一个正则表达式,并提供相应的属性和方法创建方法:字面量构造函数修饰符:g:全文搜索,不添加第一个匹配停止i:忽略大小写,不加大小写敏感m:多行搜索元字符:具有特殊意义非字母字符eg:*、+、?等字符类:[]构造类字符取反:^范围:“-”预定义类:.:除了回车和换行符\d\D\s\S\w\W边界^方框号外,开始$结束\b单词\B非单词...原创 2021-05-18 17:29:25 · 105 阅读 · 0 评论 -
ES6字符串扩展
ES6字符串扩展Unicode表示法问题:超过0xFFFF,没有对应字符解决方法:用大括号包起来console.log("a","\u0061");//aconsole.log('s','\u20BB7');// s ₻7console.log('s','\u{20BB7}');//s ????原理:码值大于两个字节,处理成四个字节,处理长度时每两个字节为一个长度let s = '????';console.log('length',s.length);//2取编码:charat(原创 2021-04-20 21:16:58 · 163 阅读 · 0 评论 -
JS笔记——变量
第二章 语句、语法、变量变量字面量:JS中没有常量,直接书写的量叫字面量或直接量1.不可改变的值eg:1 2 3 4 52.可直接使用,但一般不直接使用变量:变量可以用来保存字面量;值可以任意改变;变量更加方便使用;可以通过变量对字面量进行描述。所以在开发中用变量保存字面量。从本质上来说变量是计算机内存中的一块存储空间,变量名就是这个空间的地址名,赋值是为这个空间放入新数据。声明变量:在JS中使用var声明变量var a;console.log(a)//undefined为变量赋原创 2021-03-25 20:36:49 · 95 阅读 · 0 评论 -
JS学习笔记——语句
第二章 语句、语法、变量语句JS对语句的要求并不严格,只要把每条语句放在不同行就可以分隔他们但在书写多行语句时必须每条语句以分号结尾,提高代码可读性的同时养成良好的编程习惯(若不加分号,浏览器会自动添加分号,但是会消耗系统资源,浏览器也可能会加错分号所以开发过程中须写分号) console.log(a); var a; console.log(b); var b = 100; console.log(b);在编写代码时也要养成写注释原创 2021-03-24 20:33:56 · 115 阅读 · 0 评论 -
JS学习笔记——JS编写位置
第二章 语句、语法、变量JS编写位置行内式:直接在HTML标签中编写代码。如:可以将JS代码编写到button的onclick属性中<buttononclick="alert(1111);">ok</button>写在超链接的href属性中<a href="javascript:alert(222);">ok</a>内联式:放入script标签中<script> alert("Hello JS!")原创 2021-03-23 21:19:20 · 89 阅读 · 0 评论 -
解构赋值
解构赋值1.定义ES6允许按照一定模式从数组和对象中提取值,然后对变量进行赋值,该操作即为解构( Destructuring)。本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。默认值:当解构模式有匹配结果,且匹配结果是 undefined 时,会触发默认值作为返回结果。注意:默认值可以引用解构赋值的其他变量,但改变量必须已经声明,否则会报错。eg: let [x = y, y = 1] = []; // 报错,因为x用到默认值y时,y还没有声原创 2021-03-15 20:06:21 · 585 阅读 · 0 评论 -
JS学习笔记——初步尝试Hello World!
JS学习笔记第一章认识JavaScript<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"&g原创 2021-03-10 22:18:00 · 93 阅读 · 0 评论 -
JS学习笔记——开发环境
JS学习笔记第一章认识JavaScript开发环境主要工具:代码编辑器网页浏览器代码编辑器:任何可以进行文本编辑的工具为了提高开发效率需要编辑器具备代码着色、格式化、语法检测代码提示补全等功能最好具备一定的Web伺服的功能,以便快捷的进行页面效果预览例如:Visual Studio Code官方下载地址: https://visualstudio. microsoft. com/ zh-hanVisual Studio Code:Microsoft在2015年4月30日Build开原创 2021-03-10 22:13:33 · 184 阅读 · 1 评论 -
JS学习笔记——JavaScript应用
JS学习笔记第一章认识JavaScriptJavaScript能做什么?与用户交互、提供反馈、创建自定义Web界面、处理表单、设置cookie;JavaScript 能够改变 HTML 内容:getElementById() 是多个 JavaScript HTML 方法之一;JavaScript 能够改变 HTML 属性;JavaScript 能够改变 HTML 样式 (CSS);JavaScript 能够隐藏和显示 HTML 元素:可通过改变 display 样式来隐藏 HTML 元素。J原创 2021-03-10 22:06:38 · 227 阅读 · 0 评论 -
JS学习笔记——JavaScript 和 Java
JS学习笔记第一章认识JavaScriptJavaScript 和 JavaJavaScript 和 Java 有一些共性但是在另一些方面有着根本性区别。JavaScript语言类似 Java 但是并没有 Java 的静态类型和强类型检查特性。JavaScript 遵循了 Java 的表达式语法,命名规范以及基础流程控制,这也是 JavaScript 从 LiveScript 更名的原因。与 Java 相比,Javascript 是一门形式自由的语言。你不必声明所有的变量,类和方法。你不必关心方法原创 2021-03-10 21:57:40 · 2796 阅读 · 0 评论 -
JS学习笔记——JavaScript与ECMAScript
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-03-10 21:34:29 · 576 阅读 · 0 评论