JavaScript的细致学习
文章平均质量分 72
深入而缓慢的学习JavaScript,让js知识点掌握的更扎实一些。
古语静水流深
生命源自最初的梦想
展开
-
egg项目开发前的一些步骤
1.封装api返回格式扩展当我们对前端的请求返回的格式的时候,经过一个统一的格式返回,会比较省时省力。我们在app的目录下创建extend的目录。然后书写我们的context.js,这样我们的ctx对象就会被我们再次的封装。// app/extend/context.jsmodule.exports = { // 成功提示 apiSuccess(data = '', msg = 'ok', code = 200) { this.body = { msg, data }原创 2020-12-11 20:36:02 · 445 阅读 · 1 评论 -
egg数据库操作(增删改查)
1.数据库的增加(单个和多个)对于上述数据库的迁移我们进行了阐述,今天我们开始对数据库操作进行学习。我们会详尽增删改查的操作,开始我们的正题吧。首先创建我们的模型文件:app/model/user.js然后书写数据库部分:// app / model / user.js'use strict';module.exports = app => { const { STRING, INTEGER, DATE , ENUM} = app.Sequelize; // 配置(重要:一原创 2020-12-10 09:31:01 · 4866 阅读 · 4 评论 -
egg数据库的操作(数据库迁移)
1.配置和创建迁移文件:安装并配置egg-sequelize插件(它会辅助我们将定义好的 Model 对象加载到 app 和 ctx 上)和mysql2模块 :npm install --save egg-sequelize mysql2配置插件和配置信息:在config/plugin.js中引入 egg-sequelize 插件: sequelize :{ enable: true, package: 'egg-sequelize', },在config/con原创 2020-12-10 09:29:40 · 1013 阅读 · 0 评论 -
eggjs的学习和使用
因为大前端概念的火热。最近就想学习一下eggjs的简单使用。书写这个博客,就是简单的记录一下。供后续学习和复习使用。1.安装egg.js全局切换镜像: npm config set registry https://registry.npm.taobao.org安装egg:npm init egg --type=simple下载依赖:npm i启动项目npm run devopen http://localhost:70012.书写第一个接口:如下图:对于各个参数获取的方法书原创 2020-12-10 09:28:35 · 939 阅读 · 0 评论 -
JavaScript中浅拷贝和深拷贝的区别和实现
今天同事问到一个问题,他在vue中遍历一个动态数组。数组中的元素是对象,当你选择同一个对象,放入到数组中去,然后使用vue的v-for进行循环的时候,生成的对象,里面的同一个对象数据就会同步变化。如下图:冲刺课,是有类别的。所以可以同一个对象选择多次。这样才会出现上面的问题。最终的问题就定位到JavaScript的深度和浅度拷贝。我也是从这个问题,才体会到基础知识的重要性。闲话少说,我们直接开始讲...原创 2018-06-07 20:24:32 · 418 阅读 · 0 评论 -
最佳实践(JavaScript)
1.可维护的代码:编写可维护性的代码很重要。因为大多数开发人员都花费大量的时间维护他人的代码,很难从头开始开发新代码的。很多情况下是以他人的工作成果为基础的。确保自己的代码可维护性,以便于其他开发人员在此基础上更好的开展工作。什么是可维护的代码:1.可理解性:其他人可以接受代码,并理解它的意图和一般途径。而无需原开发人员的完整解释。2.直观性:代码中的东西一看就明白,不管其操作过程多么复杂。3.可...原创 2018-04-09 15:27:44 · 289 阅读 · 0 评论 -
高级技巧(JavaScript)
1.高级函数:①.作用域安全的构造函数:如下图的例子:当我们使用new调用时,构造函数内用到的this对象会指向新创建的对象实例,但是如果没有使用new操作符来调用构造函数,由于该this对象是在运行时绑定的,所以直接调用Person(),this会映射到全局对象windw上。导致错误对象属性的意外增加。原本针对Person实例的三个属性被添加到了window对象上,因为构造函数作为普通函数调用,...原创 2018-04-08 15:22:31 · 214 阅读 · 0 评论 -
离线应用和客户端存储(JavaScript)
1.进行离线检测:支持离线web应用开发是HTML5的一个重点。所谓离线,就是设备再不能上网的情况下仍然可以运行应用。HTML5把离线应用作为重点。开发离线web应用需要几个步骤:首先确保应用知道设备是否能上网,以便下一步执行正确的操作。然后,应用还必须能访问一定的资源(图像,JavaScript,css等),只有这样才能正常工作。最后,必须有一块本地空间用于保存数据。无论是否上网都不妨碍读写。开...原创 2018-04-08 18:33:51 · 919 阅读 · 0 评论 -
ajax相关的知识点(JavaScript)
1.ajax概述:Ajax技术的核心就是XMLHttpRequest对象(简称XHR)。XHR为向服务器发送请求和解析服务器响应提供了流畅的接口,能够以异步的方式从服务器取得更多信息,意味着用户不必刷新页面也能取得新数据。2.XHR用法:使用XHR对象时,要调用的第一个方法就是open(),它接受三个参数,要发送的类型(get,post),请求的地址,是否异步发送请求的布尔值。open方法并不会真...原创 2018-04-08 10:49:20 · 482 阅读 · 0 评论 -
JSON知识点的总结(JavaScript)
1.关于JSON:首先JSON,最重要的是要理解它是一种数据格式,并不是一种编程语言。虽然具有相同的语法结构,但JSON并不从属于JavaScript。而且,并不是只有JavaScript才是用JSON,毕竟JSON只是一种数据格式,很多编程语言都有针对JSON的解析器和序列化器。2.JSON的语法:JSON语法可以表示三种类型的值:①.简单值:使用与JavaScript相同的语法,可以在JSON...原创 2018-04-07 10:33:46 · 389 阅读 · 0 评论 -
理论经典:TCP协议的3次握手与4次挥手过程详解
摘要: 本文将分别讲解经典的TCP协议建立连接(所谓的“3次握手”)和断开连接(所谓的“4次挥手”)的过程。1、前言尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。这一过程与打电话很相似,先拨号振铃,等待对...转载 2018-04-07 16:06:26 · 288 阅读 · 0 评论 -
DOM的相关知识点总结(JavaScript)
DOM 之通俗易懂讲解 DOM是所有前端开发每天打交道的东西,但是随着jQuery等库的出现,大大简化了DOM操作,导致大家慢慢的“遗忘”了它的本来面貌。不过,要想深入学习前端知识,对DOM的了解是不可或缺的,所以本文力图系统的讲解下DOM的相关知识,如有遗漏或错误,还请大家指出一起讨论^ ^。 一、DOM是什么? DOM(文档对象模型)是针对HTML和XML文档的一个API,通过DOM可...转载 2018-04-06 17:17:43 · 325 阅读 · 0 评论 -
最详细的JavaScript和事件解读
与浏览器进行交互的时候浏览器就会触发各种事件。比如当我们打开某一个网页的时候,浏览器加载完成了这个网页,就会触发一个 load 事件;当我们点击页面中的某一个“地方”,浏览器就会在那个“地方”触发一个 click 事件。这样,我们就可以编写 JavaScript,通过监听某一个事件,来实现某些功能扩展。例如监听 load 事件,显示欢迎信息,那么当浏览器加载完一个网页之后,就会显示欢迎信息。下面就...转载 2018-04-06 17:47:17 · 885 阅读 · 0 评论 -
BOM相关的知识点(JavaScript)
1.BOM的核心,主要是理解window对象。BOM提供了很多对象,用于访问浏览器的功能。window对象同时扮演着ecmascript中global对象的角色。所有在全局作用域中声明的变量,函数都会变成window对象的属性和方法。2.窗口的位置:用于确定和修改window对象位置的属性和方法很多,浏览器提供了screenLeft和screenTop属性。分别用于表示窗口的相对于屏幕左边和上边的...原创 2018-04-06 15:01:58 · 255 阅读 · 0 评论 -
关于函数的所有知识点的学习(JavaScript)
1.函数声明和函数表达式的不同:浏览器的解析器在执行环境中加载数据时,对函数声明和函数表达式并非一视同仁,解析器会率先读取函数声明,并使其在执行任何代码之前可用(可以访问);至于函数表达式,则必须等到解析器执行到他所在的代码行,才会真正的被解释执行。函数声明一个重要的特征就是函数声明提升。在执行代码之前会先读取函数声明,这就意味着可以把函数声明放在调用它的语句后面。代码如下:如果是这样:2.函数内...原创 2018-04-05 20:41:01 · 750 阅读 · 0 评论 -
JavaScript知识点总结---------001(前述)
从今天开始,我会把JavaScript的所有基础知识写出来,一是给大家做个参考,二来自己也巩固一下自己的知识。JavaScript,是一种专为与网页交互而设计的客户端脚本语言。原创 2017-03-05 19:46:38 · 446 阅读 · 0 评论 -
JavaScript知识点总结---------002(开始前的准备)
开始我们这个JavaScript基础知识之前,我们要知道一些最基础的知识点,比如测试一些常见的使用技巧或者打印一些东西的命令。alert():在窗口中弹出一个对话框document.write():在浏览器文档中写一些东西。console.log():在控制台打印一些东西(方便测试错误)。innHTML和inntext:向指定的元素中动态添加内容。我们的编辑工具(webstro原创 2017-03-10 14:49:44 · 378 阅读 · 0 评论 -
JavaScript知识点总结---------003(变量类型)
在JavaScript中定义一个变量很容易,只需要var 变量名=变量值;这个其中的=是赋值操作,左边的是变量名,右边的是存储的值,js中的变量是松散类型的。1.JavaScript有哪些数据类型呢?基本数据类型:由简单的结构组成的(5个)数字(number),字符串(string)(双引号或者单引号包起来的),布尔(boolean),null undefined引用数据类原创 2017-03-24 18:51:50 · 458 阅读 · 0 评论 -
JavaScript知识点总结---------004(控制)
在JavaScript中,控制判断的有:if与else,三元运算符,switch,case等。1.if else if else原创 2017-03-25 10:33:12 · 410 阅读 · 0 评论 -
JavaScript知识点总结---------005(函数与数组)
今天介绍JavaScript中的函数和数组部分。一:function:函数 具备某种功能的一个方法,方法本身没有什么意义,只有执行这个方法,这个方法实现了对应的功能才有了自己的价值 函数有两部分组成:创建一个函数,执行这个函数function 方法名(){ 函数体:存放的是某种功能实现的js代码}方法名();创建一个函数可以执行多次,每次执行函数和上一次执行没有任何原创 2017-03-28 09:09:26 · 367 阅读 · 0 评论 -
JavaScript中闭包的理解
想要理解JavaScript中闭包的作用,首先应该知道为什么会产生这个东西。它的作用是什么。要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量Js代码 var n=1; function f1(){ alert(n);转载 2017-03-29 17:17:20 · 416 阅读 · 0 评论 -
JavaScript面向对象(第一篇)
面向对象是一种编程思想,不同的编程语言都可以实现面向对象这种思想。我们现在复习一下JS的数据类型,JS数据类型被分为了两大门派,基本类型和引用类型。基本类型:Undefined,Null,Boolean,Number,String引用类型:Object,Array,Date,RegExp等,说白了就是对象。。 我们都知道,引用类型有方法和属性,但是基本类型是木有的,但是你一定见过这样的原创 2018-01-15 23:52:44 · 241 阅读 · 0 评论 -
JavaScript面向对象(第二篇)
主要讲述:两链一包(作用域链 原型链 闭包);先讲述作用域,然后闭包,最后原型链.不同作用域下的变量,可以被引用的空间范围不同。一个变量可以被引用的区域,就是该变量的作用域。根据全局和局部:可以划分为全局作用域和局部作用域。根据函数:可以划分外部作用域和内部作用域。全局作用域不能访问局部变量.function fn1(params) { var i = 10;}fn1(原创 2018-01-16 22:23:31 · 244 阅读 · 0 评论 -
变量,作用域,内存相关的知识点(JavaScript)
1.JavaScript中数据类型包含两种不同的数据类型:基本数据类型和引用数据类型。基本数据类型指的是简单的数据段,引用数据类型之那些可能有多个值构成的对象。2.JavaScript中基本数据类型有五种:undefined,null,Boolean,number,string。基本数据类型是按值访问的,因此可以操作保存在变量中的实际的值。引用数据类型是保存在内存中的,JavaScript不允许直...原创 2018-04-05 16:46:05 · 235 阅读 · 0 评论