JS笔记之JS对象基础知识(五)
JS笔记之JS对象基础知识(五)1 构造器和操作符new创建对象可以使用字面量的方式:{} 也可以使用new操作符,相较于字面量创建对象的方式,new操作符能够方面的创建许多类似的对象,例如多个用户和菜单对象。
1.1 构造函数构造函数在技术上是常规函数,只是有两个约定:
他的命名都是一大写字母开头。
只能有new操作符来执行。
例如:
123456789function User(name) { this.name = name; this.isAdmin = false;}let user = new User("Jack");alert(user.name); // Jackalert(user.isAdmin); // false
1.2 构造器的执行步骤:
一个新的空对象被创建并分配给this。
函数体执行,通常他会修改this,并为其添加新的属性。
返回this的值。
总的来说 new User(…) 做的就是如下的事情:
123456789function User(name) { ...
JS笔记之JS对象基础知识(四)
JS笔记之JS对象基础知识(四)1 对象方法,this通常创建对象来表示显示世界中的实体,比如用户或者订单。在现实世界中用户可以进行操作,比如登录注销,往购物车中添加商品。
在JS中 行为(action)由属性中的函数表示。
12345678910let user = { name: "John", age: 30};user.sayHi = function() { alert("Hello!");};user.sayHi(); // Hello!
上面的例子中,我们给user对象的sayHi属性赋值了一个函数,这种对象的属性的函数被称为对象的方法。
通常,全局中定义的函数称之为函数,对象中的属性是函数的话称之为方法。
我们在代码中使用对象表示实体时,这就是所谓的面向对象编程,简称OOP。
1.1 方法简写方法还有一个简写的方式 (可能会在继承层面会有些微的差别)
1234567891011121314// 这些对象作用一样user = { sayHi: fu ...
JS笔记之JS对象基础知识(三)
JS笔记之JS对象基础知识(三)1 垃圾回收对于开发者来说,JavaScript 的内存管理是自动的、无形的。我们创建的原始值、对象、函数……这一切都会占用内存。
1.1 什么是垃圾?在JS引擎运行时,我们创建的一些原始值、对象,经过使用之后就没有就再也没有使用过,这些个原始值,或者对象都是垃圾。
1.2 有哪些垃圾?任何变量或者对象在未来的程序运行中总不会被访问的b变量和对象都是垃圾。
1.3 什么是垃圾回收?JS对内存管理的一种手段。
1.4 为什么垃圾回收?释放内存,节约资源。
1.5 如何垃圾回收?JS中的内存管理概念可达性,就是能够通过某种凡是访问到的值,他们一定是存在于内存中的。
比如一些明显的可达的值:
当前执行的函数,他的局部变量和参数。
当前嵌套调用链上的其他的函数,他们的局部变量和函数。
全局变量
一些内部的对象
一个值可以通过引用链从根访问任何其他值,则认为该值也是可达的。
一个例子:
1234// user 具有对这个对象的引用let user = { name: "John"};
us ...
JS笔记之JS对象基础知识(二)
JS笔记之JS对象基础知识(二)1 对象的引用和复制对象和原始类型(数字字符串布尔类型等)的区别就是对象是通过引用 存储和复制的,而原始类型总是作为一个整体复制。
1.1 JS赋值时会发生什么?首先原始类型进行赋值时,message 和 phrase 是两个独立的变量。之间没有什么直接的关系。
12let message = "Hello!";let phrase = message;
而对象不是这样的,一个对象被赋值给某个变量,这个变量存储的并不是对象的本身,而是这个对象的内存的地址。
就像一把钥匙对应一个柜子,这把钥匙可以对该柜子打开并添加、取走里面的内容,此时又根据这把钥匙重新配了一个一个钥匙,而新配的这把钥匙也能够打开这个柜子。 这两把钥匙都可以对这个柜子修改。
1234567let user = { name: 'John' };let admin = user;admin.name = 'Pete'; // 通过 "admin" 引用来修改cons ...
JS笔记之JS对象基础知识(一)
JS笔记之JS对象基础知识(一)js 对象是用来存储键值对或者更复杂的实体信息。
1 创建空对象的两种方法12let user = new Object(); // “构造函数” 的语法let user = {}; // “字面量” 的语法
1.1 创建对象1234let user = { // 一个对象 name: 'John', // 键 "name",值 "John" age: 30, // 键 "age",值 30};
对象属性的操作
1234console.log(user.age); // 获取对象user.age = 100 // 修改属性值delete user.age // 使用delete 删除对象的属性user.sex = 'man' // 新增属性值
创建对象也可以使用对个词语作为属性名
12345let user = { name: 'Joh ...
VitePress搭建文档网站
VitePress搭建文档
在VitePress官方文档中指明它是基于Vite构建的一个VuePress的小兄弟,同时也对VuePress存在的几个问题进行一些改进:
更快
使用Vue3
更加轻巧
一、安装以下步骤来自官网
步骤 1: 创建并进入一个目录
1$ mkdir vitepress-starter && cd vitepress-starter
步骤 2: 初始化
1$ yarn init
步骤 3: 本地安装 VitePress
1$ yarn add --dev vitepress
步骤 4: 创建你第一篇文档
1$ mkdir docs && echo '# Hello VitePress' > docs/index.md
步骤 5: 在 package.json.添加一些script
1234567{ "scripts": { "docs:dev": "vitepress dev docs& ...
js笔记之Js事件
事件冒泡及捕获js的事件冒泡和捕获是两种机制,主要描述一个元素上有两个相同类型的事件处理器被激活会发生什么。
例如该例子:源码
他显示和隐藏一个包含 元素的 元素。
123456789101112<button>Display video</button><div class="hidden"> <video> <source src="https://raw.githubusercontent.com/mdn/learning-area/master/javascript/building-blocks/events/rabbit320.mp4" type="video/mp4"> <source src="https://raw.githubusercontent.com/mdn/learning-area/master/javascript/build ...
JS笔记之JS异步编程之Promise
异步编程
异步编程技术使你的程序可以在执行一个可能长期运行的任务的同时继续对其他事件做出反应而不必等待任务完成。与此同时,你的程序也将在任务完成后显示结果。
浏览器在执行js代码时,是按照书写的顺序一行一行的执行,会等待代码的解析和工作,在上一行执行完毕后才会执行下一行。执行同步函数时也是如此。
单当遇到一个耗时的同步函数时,操作会非常消耗时间且我们无法做其他事情。
我们希望我们的程序可以:
通过调用一个函数来启动一个长期运行的操作。
然函数开始 操作时立即返回,这样我们的程序就可以保持对其他事件做出反应能力。
单操作完成时通知我们操作的结果。
以上的功能是异步寒函数为我们提供的能力。
我们常见的事件处理程序就是异步编程的一种形式。即提供的函数,将在事件发生时被调用(而不是立即被用用),如果事件操作已经完成,那么就可以看到事件是如何被用来通知调用者异步函数调用的结果的。
例如一些早期的API:XMLHttpRequest,可以通过给 XMLHttpRequest 对象附加事件监听器来让程序在请求进展和最终完成时获得通知。
事件处理程序是一种特殊的回调函 ...
js笔记之Js代码调用策略
Js代码调用策略javascript代码位置和css一样,可以设置为内部样式、内联样式、外部样式。HTML代码渲染是由上而下加载,js代码的位置可能会导致js获取DOM元素时,无法获取未渲染的HTML标签,从而引发错误。
想要脚本调用的时候符合预期,需要解决一系列问题。
例如当js代码处于文档头处,解析HTML文档体之前。这样做是有隐患的,需要使用一些结构来避免错误发生。
1 使用 DOMContentLoaded 解决123document.addEventListener("DOMContentLoaded", function () { . . .});
这是一个事件监听器,他监听浏览器的DOMContentLoaded事件,即HTML加载、解释完毕事件。事件将触发 … 的代码,从而避免了错误发生。
2 使用 async 解决在调用外部js代码时可以使用js的一项现代技术(async)来解决这一问题,他告知浏览器在遇到 元素时不用中断后续HTML内容的加载。
1<script src="sc ...
Sublime Text 4 安装注册
sublime text 4 注册方法
Sublime Text 是一个文本编辑器(收费软件,可以无限期试用),同时也是一个先进的代码编辑器。Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。
1 sublime text 4 最新激活方法 (版本4143)
打开网站 hexed.it。在网站上面导航栏左上角点击打开文件,选择sublime text 安装文件夹下的 sublime_text.exe。
按下 ctrl+f 搜索,在网站右侧边栏搜索输入框输入: 80 78 05 00 0f 94 c1 。
在网站右侧边栏,搜索方案中选择启动替换,在替换输入框中输入 c6 40 05 01 48 85 c9,只需替换一次。
点击网站上面导航栏中的另存为,直接替换原有的sublime_text.exe文件。
再次打开 sublime text 4 即可查看已注册成功。
2 sublime text 4 激活方法(版本4126) (已失效)注册码:
12345 ...