javascript
文章平均质量分 66
听不见你的名字
关注一下呗,私聊我帮大家解决问题(软件开发方面)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
长话简说JavaScript(9)代理基础
代理和反射为开发者提供了拦截并向基本操做嵌入额外行为的能力。具体地说,可以给目标对象定义一个关联的代理对象,而这个代理对象可以作为抽象的目标对象来使用。在对目标对象的各种操作影响目标对象之前可以在代理对象中对这些操作加以控制。创建空代理只作为一个抽象的目标对象。代理使用Proxy 构造函数创建的。接收参数目标对象和处理程序对象。const target = { id: 'target' }; const handler = {}; const proxy = new Proxy(target原创 2021-12-26 01:00:00 · 303 阅读 · 0 评论 -
长话简说JavaScript(8)类
ECMAScript 6 新引入的 class 关键字具有正式定义类的能力。支持正式的面向对象编程,但实际上它背后使用的仍然是原型和构造函数的概念。类定义// 类声明class Person {} // 类表达式const Animal = class {};函数受函数作用域限制,而类受块作用域限制类的构成类可以包含构造函数方法、实例方法、获取函数、设置函数和静态类方法,但这些都不是必需的。空的类定义照样有效。编程风格必须类名的首字母要大写,以区别于通过它创建的实例class Baz {原创 2021-12-21 22:06:05 · 960 阅读 · 0 评论 -
长话简说JavaScript(8)继承
很多面向对象语言都支持两种继承:接口继承和实现继承。而ECMAScript只支持原型链实现。原型链基本思想:通过原型继承多个引用类型的属性和方法。function SuperType() { this.property = true; } SuperType.prototype.getSuperValue = function() { return this.property; }; function SubType() { this.subproperty = false; }原创 2021-12-23 08:00:00 · 198 阅读 · 0 评论 -
长话简说JavaScript(8)创建对象
创建对象的形式非常简单,通过Object 构造函数或对象字面量。通过几种方式来更快速的创建对象工厂模式function createPerson(name, age, job) { let o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function() { console.log(this.name); }; return o; } let person1 = crea原创 2021-12-22 08:00:00 · 99 阅读 · 0 评论 -
长话简说JavaScript(8)理解对象
面对对象编程听起来很Java,Java老程序可能对于它的理解很深,那js中的对象又是如何实现,有什么作用么?随着我的笔记一起来了解吧。对象是啥在某一种意义上对象就是一组没有任何规的值。它的每个属性和方法都有一个名称来标识。创建自定义对象就是创建一个Object实例let person = new Object(); person.name = "Nicholas"; person.age = 29; person.job = "Software Engineer"; person.sayNa原创 2021-12-21 08:00:00 · 108 阅读 · 0 评论 -
长话简说JavaScript(7)理解迭代
许多人都说循环,有的时候把迭代都给你忘记了。迭代是按照顺序反复多次执行一段程序,一般会有明确的终止条件。跟循环不是一回事,循环是迭代的基础。原创 2021-12-20 08:00:00 · 202 阅读 · 0 评论 -
长话简说JavaScript(6)Set详细解读
ECMAScript 6 新增的 Set 是一种新集合类型,为这门语言带来集合数据结构。原创 2021-12-15 00:00:00 · 242 阅读 · 0 评论 -
长话简说JavaScript(6)Set详解
ECMAScript 6 新增的 Set 是一种新集合类型1.基本 API// 使用数组初始化集合const m = new Set(["val1", "val2", "val3"]);// 使用自定义迭代器初始化集合const m2 = new Set({ [Symbol.iterator]: function*() { yield "val1"; yield "val2"; yield "val3"; } });console.log(m.add("val4")); /原创 2021-12-14 00:00:00 · 337 阅读 · 0 评论 -
长话简说JavaScript(6)Map详解
MapMap 是一种新的集合类型,为这门语言带来了真正的键/值存储机制。Map 的大多数特性都可以通过 Object 类型实现。1.基本 APIconst m= new Map().set("key1", "val1").set("key2", "val2").set("key3", "val3"); console.log(m.has("key1"));// true 判断是否含有key值console.log(m.get("key1"));// val1 获取key值中的valueconso原创 2021-12-13 00:00:00 · 682 阅读 · 0 评论 -
长话简说JavaScript(6)Array详细解读
Array一组有序的数据。通过索引标记,是动态大小的,会随着数据添加而自动增长。1.创建数组let colors1 = new Array(); //使用 Array 构造函数let colors2 = new Array(20); //使用 Array 构造函数,确认数组大小let colors3 = new Array("red", "blue", "green"); // 使用 Array 构造函数,保存存入的元素Array 构造函数还有两个 ES6 新增的用于创建数组的静态方法:fro原创 2021-12-13 00:00:00 · 342 阅读 · 0 评论 -
长话简说JavaScript(5)Global和Math是什么东西?
Global一种兜底对象,在全局作用域中定义的变量和函数都会变成 Global 对象的属性 。包括 isNaN()、isFinite()、parseInt()和 parseFloat(),实际上都是 Global 对象的方法。1.URL 编码方法encodeURI()和 encodeURIComponent()方法用于编码统一资源标识符(URI),以便传给浏览器。有效的 URI 不能包含某些字符,比如空格。使用 URI 编码方法来编码 URI 可以让浏览器能够理解它们,同时又以特殊的 UTF-8 编码原创 2021-12-11 00:00:00 · 299 阅读 · 0 评论 -
长话简说JavaScript(5)RegExp是什么?
RegExp 类型支持正则表达式。语法简单let expression = /pattern/flags;pattern是任何简单或复杂的正则表达式,包括字符类、限定符、分组、向前查找和反向引用。flags是了表示匹配模式的标记修饰符含义描述g全局模式表示查找字符串的全部内容,而不是找到第一个匹配的内容就结束。i不区分大小写表示在查找匹配时忽略 pattern 和字符串的大小写。m多行模式表示查找到一行文本末尾时会继续查找。y粘附模式表示只查找原创 2021-12-12 00:00:00 · 720 阅读 · 0 评论 -
长话简说JavaScript(5)你深度了解过Date?
Date 类型将日期保存为自协调世界时(UTC,Universal Time Coordinated)时间 1970 年 1 月 1 日午夜(零时)至今所经过的毫秒数。这样转换成时间更加精准。创建日期对象,使用new 操作符来调用 Date 构造函数:let now = new Date(); //这个显示当前毫秒时间戳 如果Date()里面添加毫秒时间戳...原创 2021-12-09 11:24:32 · 575 阅读 · 0 评论 -
长话简说JavaScript(4)垃圾回收是什么鬼?
你没有看错!JavaScript是使用垃圾回收的语言,就是在执行环境中代码执行时管理内存。跟Java有一些相似。Java代码执行需要通过Java虚拟机,Java虚拟机可以帮助开发者管理内存。JavaScript通过自动内存管理实现内存分配和闲置资源回收。基本思想:确定哪个变量不会在使用,然后释放它占用的内存。例如页面跳转后,之前页面的变量占用着内存都会被释放掉其内存。在游览器发展史上,用到两种主要的内存清理策略:标记清理和引用计数,听起来跟Java虚拟机管理内存算法有些相似。那我们就开始了解这两个策略原创 2021-12-10 08:00:00 · 239 阅读 · 0 评论 -
长话简说JavaScript(4)什么是执行上下文与作用域
执行上下文是根据变量或函数访问哪些数据,操作他们的行为,这些过程中需要必须有上下文来决定。这个上下文定义的所有变量和函数都存在于这个对象上。虽然不能通过代码访问变量对象,但是后台根据变量处理数据。类似于Java项目debug执行程序时variables列表里的临时变量,程序执行完后,这些临时变量就会消失。下面介绍一下全局上下文是什么?全局上下文相当于在window系统下的window对象,通过var定义的全局变量和函数都会成为window对象的属性和方法,let和const定义的不会在全局上下文中,但是作原创 2021-12-09 01:00:00 · 149 阅读 · 0 评论 -
长话简说JavaScript(4)原始值与引用值都是什么
ECMAScript 变量可以包含两种不同类型的数据:原始值和引用值,原始值就是最开始定义一些简单值,原始值类型:Undefined、Null、Boolean、Number、String 和 Symbol。保存原始值的变量是按值(byvalue)访问的,因为我们操作的就是存储在变量中的实际值。引用值就是有多个值构成的对象,因为avaScript 不允许直接访问内存位置,因此不能直接操作对象所在的内存空间。在操作对象时,实际上操做就是对该对象的引用,不是对象的对象 。如果保存引用值得变量是是按引用(by re原创 2021-12-08 08:00:00 · 362 阅读 · 1 评论 -
长话简说JavaScript(3)语言基础中的语句和函数
语句通常使用一或多个关键字完成既定的任务。语句可以简单,也可以复杂。简单的如告诉函数退出,复杂的如列出一堆要重复执行的指令。主要介绍这些常用语句if 语句:if (condition) statement1 else statement2这里的(condition)可以是任何表达式,求值结果不一定是布尔值。原理是:ECMAScript 会自动调用 Boolean()函数将这个表达式的值转换为布尔值。如果条件求值为 true,则执行语句statement1;如果条件求值为 false,则执行语句原创 2021-12-07 08:00:00 · 136 阅读 · 0 评论 -
长话简说JavaScript(3)语言基础中的语法与数据类型
语言基础主要根据ECMAScript 第 6 版语法区分大小写 变量 test 和变量 Test 是两个不同的变量。标识符 变量、函数、属性或函数参数的名称 遵循驼峰大小写形式,即第一个单词的首字母小写,后面每个单词的首字母大写注释 单行注释和块注释严格模式 一种不同的 JavaScript 解析和执行模型 不规范写法在这种模式下会被处理,如果不安全抛出错误 这个 ”use strict“开启严格模式 放在整个或方法内语句 推荐以分号结尾关键字与保留字 最好还是不要原创 2021-12-04 08:00:00 · 188 阅读 · 0 评论 -
长话简说JavaScript(3)语言基础中的操作符
操作符可用于操作数据值的操作符,包括数学操作符(如加、减)、位操作符、关系操作符和相等操作符等。一元操作符:只操作一个值的操作符递增/递减操作符:递增/递减操作符在数值前面先执行,递增/递减操作符在数值后面后执行,示例:let num = 2;console.log(num--); // 2console.log(num); // 1console.log(num++); // 1console.log(num); // 2console.log(--num); // 1consol原创 2021-12-03 22:17:47 · 490 阅读 · 2 评论 -
长话简说JavaScript(2) HTML如何使用JavaScript
HTML中如何使用JavaScript原创 2021-12-01 22:25:48 · 7305 阅读 · 29 评论 -
长话简说JavaScript(1)JavaScript基本情况
JavaScript的由来1995年,JavaScript问世,最开始主要用于在客户端处理输入验证,一些简单验证不需要请求服务器,替服务器分担了一些问题,它的最初的名字是Mocha,后来和sum公司进行合作开发改了名字叫LiveScript,当发行第二版时为了借助Java热度改名了叫JavaScriptJavaScript的用途最初时处理输入验证,后来经过发展能够处理复杂的计算和交互,包括闭包,lambda,元编程等特性,之前只是在桌面浏览器后来推广到手机游览器和屏幕阅读器,逐渐变得强大,现阶段软件开原创 2021-11-30 16:38:37 · 680 阅读 · 0 评论
分享