02 2021 档案
摘要:--save 和--save-dev下载标签 他们表面上的区别是--save 会把依赖包名称添加到 package.json 文件 dependencies 键下,--save-dev 则添加到 package.json 文件 devDependencies 键下. dependencies是运行时
阅读全文
摘要:新安装的MongoDB是没有账号设置的,也就是说任何人都可以连接进MongoDB,这是非常不安全的。所以我们需要对MongoDB进行设置账号,来控制对数据库的访问。 admin数据库 admin数据库是MongoDB安装时就会自动创建的. 使用:show dbs进行查看有多少个数据库: 大家可以从上
阅读全文
摘要:默认官网下载很慢,所以需要修改映射地址: 修改C:\Windows\System32\drivers\etc\ 下hosts文件在末尾加上 13.225.176.86 d3mw3wlkjdkqc9.cloudfront.net 表示用上面那个地址下载,20M宽带速度应该有十几M每秒
阅读全文
摘要:// let mysql = require("mysql"); let axios = require('axios');//请求网址模块 var request = require('request');//也是请求网址模块,只不过下载图片的函数比较简单,所以用这个 let fs = requi
阅读全文
摘要:1.查看所有现有环境: conda info -e conda list:查看安装了哪些包。 conda install package_name(包名):安装包 conda env list 或 conda info -e:查看当前存在哪些虚拟环境 conda update conda:检查更新当
阅读全文
摘要:去年,2020年我购买的学生服务器是SVM服务器,配置是带宽1M,硬盘50G,花了136元钱,今年重新购买学生服务器,它的配置是5M带宽,40G硬盘,属于轻量型应用服务器,费用108元,我还以为腾讯提高服务质量了,但是没想到两个服务器的控制台不一样,害我浪费了很多时间。 SVM控制台:功能较多 轻量
阅读全文
摘要:git config --list//查看配置,按q可以退出 //配置用户名和email,密码 git config --global user.name "zle1992" git config --global user.password "66666" git config --global
阅读全文
摘要:方法1.要提前声明一个对象 var A = { name: "martin", data: { num: 10 }, arr:[1,2,3], say: function () { console.log("say"); }, null:{} }; var B = {}; //递归赋值 functi
阅读全文
摘要:1.Object.prototype.toString()判断原理 那么当我们调用这个方法时,具体会做那些操作呢? 1.如果this value是undefined,返回 "[object Undefined]" 2.如果this value是null,返回"[object Null]" 3.让O作
阅读全文
摘要:JS数据类型 Q:前端面试常问,JS的基本数据类型有哪些呀?A:JS数据类型分为基本数据类型和引用数据类型,详细分类如下: Q:基本数据类型和引用数据类型的储存方式有什么不同?A: 基本数据类型:变量名和值都储存在栈内存中,例如: var num=10; num变量在内存中储存如下: 引用数据类型:
阅读全文
摘要:1.let <!-- ***let 1. 作用: * 与var类似, 用于声明一个变量 2. 特点: * 在块作用域内有效 * 不能重复声明 * 不会预处理, 不存在提升 3. 应用: * 循环遍历加监听 * 使用let取代var是趋势 --> let btns = document.getElem
阅读全文
摘要:一、严格模式 <!-- 1. 理解: * 除了正常运行模式(混杂模式),ES5添加了第二种运行模式:"严格模式"(strict mode)。 * 顾名思义,这种模式使得Javascript在更严格的语法条件下运行 2. 目的/作用 * 消除Javascript语法的一些不合理、不严谨之处,减少一些怪
阅读全文
摘要:一.Javascript组成 JavaScript的实现包括以下3个部分: ECMAScript(核心) 描述了JS的语法和基本对象。 文档对象模型 (DOM) 处理网页内容的方法和接口 浏览器对象模型(BOM) 与浏览器交互的方法和接口 javascript 有三部分构成,ECMAScript,D
阅读全文
摘要:variable Object:以下称VO. 作者:柳兮链接:https://zhuanlan.zhihu.com/p/26011572来源:知乎 执行上下文看似很好理解,可是当深入之后其实里面还有很多值得学习的地方,并且与很多我们耳熟能详的概念,譬如提升(hoisting)联系紧密。我的理解可能有
阅读全文
摘要:1. 代码的分类: * 初始化代码(现在栈里面执行) * 回调代码(先进入队列,等待初始化代码执行完毕,才会进入栈执行) 2. js引擎执行代码的基本流程 * 先执行初始化代码: 包含一些特别的代码 * 设置定时器 * 绑定监听 * 发送ajax请求 * 后面在某个时刻才会执行回调代码 转载于知乎:
阅读全文
摘要://题目一 var name = "The Window"; var object = { name: "My Object", getNameFunc: function () { return function () { return this.name; }; } }; console.log
阅读全文
摘要:一.原型(prototype)有什么用?为什么出现? function student(name,age){ this.name = name; this.age = age; this.study = function(){ console.log("学习~") } } var stu = new
阅读全文
摘要://1.类里面函数不用加function,函数之间不用加逗号 class Person1{ constructor(uname,age){ this.uname = uname; this.age = age; } sing(){ console.log(this.uname+'我爱singing!
阅读全文
摘要:1. 如何产生闭包? * 当一个嵌套的内部(子)函数引用了嵌套的外部(父)函数的变量(函数)时, 就产生了闭包 2. 闭包到底是什么? * 使用chrome调试查看 * 理解一: 闭包是嵌套的内部函数 * 理解二: 包含被引用变量(函数)的对象 * 注意: 闭包存在于嵌套的内部函数中 3. 产生闭包
阅读全文
摘要:/* 问题: 结果输出多少? */ var x = 10; function fn() { console.log(x); } function show(f) { var x = 20; f(); } show(fn); 答案:10(全局作用域) /* 说说它们的输出情况 */ var fn =
阅读全文
摘要:function A () { } A.prototype.n = 1 var b = new A() A.prototype = { n: 2, m: 3 } var c = new A() console.log(b.n,b.m, c.n, c.m);//1 undefine 2 3 /* 测试
阅读全文
摘要:为什么要有原型的出现? 所有函数都有一个特别的属性: prototype : 显式原型属性 所有实例对象都有一个特别的属性: __proto__ : 隐式原型属性 讲原型的时候,我们应该先要记住以下几个要点,这几个要点是理解原型的关键: 1、所有的引用类型(数组、函数、对象)可以自由扩展属性(除nu
阅读全文
摘要:回调函数的理解 什么函数才是回调函数? 你定义的 你没有调用 但它最终执行了(在一定条件下或某个时刻) 常用的回调函数 dom事件回调函数 定时器回调函数 ajax请求回调函数 生命周期回调函数
阅读全文
摘要:JS对象添加属性有俩种方法: person{name:"tom"} person.age = 20;//以点 person['age'] = 20;//以中括号var a = "age";person[a] = 20 但是以person.name方式添加的属性只能添加驼峰命名法的属性名,有特殊字符只
阅读全文
摘要:基本(值)类型:保存数据,基本数据类型在栈空间开辟内存 Number 任意数值 typeof String 任意字符串 typeof Boolean true/false typeof undefined undefined typeof/ (表示定义了未赋值) null null (表示定义了并且
阅读全文
摘要:Json是数据交换语言,由于后台语言不认识JavaScript 的对象语法,但是前后台语言都认识字符串,那么通过字符串做为前后台语言的沟通中介就诞生了Json格式的字符串。 Json转JavaScript对象:JSON.parse(字符串变量),就能把后台传过来的字符串转为对象。 把JavaScri
阅读全文
摘要:clientX/clientY : 鼠标相对于当前视口的x/y坐标, 不不考虑页面滚动的距离,不包含浏览器书签栏部分(即鼠标停留在书签栏尾部时Y为0)。 pageX/pageY : 鼠标相对于整个页面的x/y坐标,会加上页面的滚动距离,不包含浏览器书签栏部分(即鼠标停留在书签栏尾部时Y为0) scr
阅读全文
摘要:JS给同一元素同一事件添加多个响应函数,而不会覆盖现有事件:addEventListener(IE8及以下需要考虑兼容性问题) element.addEventListener("click", myFunction); element.addEventListener("click", mySec
阅读全文
摘要:事件冒泡:(假设div1,div2,div3都有定义方法,那么点击里面的,外面的元素方法也会被调用) 注:捕获阶段和冒泡阶段相反,是从外到内。 事件委派:(假设只有外面的div有定义方法,那么点击里面的每一个li都会调用DIV的方法)
阅读全文
摘要:浏览器宽高问题: //以下均可console.log()实验 var winW=document.body.clientWidth||document.docuemntElement.clientWidth;//网页可见区域宽 var winH=document.body.clientHeight|
阅读全文
摘要:2.事件(Event)- 事件对象- 当响应函数被调用时,浏览器每次都会将一个事件对象作为实参传递进响应函数中,这个事件对象中封装了当前事件的相关信息,比如:鼠标的坐标,键盘的按键,鼠标的按键,滚轮的方向。。- 可以在响应函数中定义一个形参,来使用事件对象,但是在IE8以下浏览器中事件对象没有做完实
阅读全文
摘要:1.DOM对CSS的操作(JS修改样式,往往是通过修改内联样式或修改外部样式直接生成内联样式发挥作用的,内联样式就是定义在元素内部的样式) - 读取和修改内联样式 - 使用style属性来操作元素的内联样式 - 读取内联样式: 语法:元素.style.样式名 - 例子: 元素.style.width
阅读全文
摘要:1.DOM查询 - 通过具体的元素节点来查询 - 元素.getElementsByTagName() - 通过标签名查询当前元素的指定后代元素 - 元素.childNodes - 获取当前元素的所有子节点 - 会获取到空白的文本子节点 - 元素.children - 获取当前元素的所有子元素 - 元
阅读全文
摘要:JS修改this指向有三种方法,call,bind,apply(这三个都是函数对象的方法,需要通过函数对象来调用,它们都是绑定在函数对象原型上面的方法),fun()是函数,则fun称为函数对象,调用语法示例:fun.call() 一. call 1.call函数的作用是调用函数,并且修改这个函数的t
阅读全文
摘要:1.原型(prototype) - 创建一个函数以后,解析器都会默认在函数中添加一个数prototype prototype属性指向的是一个对象,这个对象我们称为原型对象。 - 当函数作为构造函数使用,它所创建的对象中都会有一个隐含的属性执行该原型对象。 这个隐含的属性可以通过对象.__proto_
阅读全文
摘要:方式1: 对象字面量模式 * 套路: 使用{}创建对象, 同时指定属性/方法 * 适用场景: 起始时对象内部数据是确定的 * 问题: 如果创建多个对象, 有重复代码 --> <script type="text/javascript"> var p = { name: 'Tom', age: 23,
阅读全文
摘要:普通函数: .this(上下文对象) - 我们每次调用函数时,解析器都会将一个上下文对象作为隐含的参数传递进函数。 使用this来引用上下文对象,根据函数的调用形式不同,this的值也不同。就是谁调用,this就是谁。 - this的不同的情况: 1.以函数的形式调用时,this是window 2.
阅读全文
摘要:- 变量的声明提前 - 在全局作用域中,使用var关键字声明的变量会在所有的代码执行之前被声明,但是不会赋值。 所以我们可以在变量声明前使用变量。但是不使用var关键字声明的变量不会被声明提前。 - 在函数作用域中,也具有该特性,使用var关键字声明的变量会在函数所有的代码执行前被声明, 如果没有使
阅读全文
摘要:1.对象(Object) - 对象是JS中的引用数据类型 - 对象是一种复合数据类型,在对象中可以保存多个不同数据类型的属性 - 使用typeof检查一个对象时,会返回object - 创建对象 - 方式一: - var obj = new Object(); - 方式二: - var obj =
阅读全文
摘要:- 函数声明 function 函数名([形参1,形参2...形参N]){ 语句... } - 函数表达式 var 函数名 = function([形参1,形参2...形参N]){ 语句... };
阅读全文
摘要:1.-基本数据类型和引用数据类型 -(1)基本数据类型 String Number Boolean Null Undefined - (2)引用数据类型 Object -(3)基本数据类型的数据,变量是直接保存的它的值。 变量与变量之间是互相独立的,修改一个变量不会影响其他的变量。 - (4)引用数
阅读全文
摘要:- null和undefined - 由于undefined衍生自null,所以null == undefined 会返回true。 但是 null undefined 会返回false。 - NaN - NaN不与任何值相等,报告它自身 NaN == NaN //false - 判断一个值是否是N
阅读全文
摘要:2.1 STL的诞生 长久以来,软件界一直希望建立一种可重复利用的东西 C++的面向对象(封装多态)和泛型编程思想,目的就是复用性的提升 大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作 为了建立数据结构和算法的一套标准,诞生了STL 2.2 STL基本概念 STL(Standa
阅读全文
摘要:多态使用时,如果子类中有属性开辟到堆区,那么父类指针在释放时无法调用到子类的析构代码 解决方式:将父类中的析构函数改为虚析构或者纯虚析构 虚析构和纯虚析构共性: 可以解决父类指针释放子类对象 都需要有具体的函数实现 虚析构和纯虚析构区别: 如果是纯虚析构,该类属于抽象类,无法实例化对象 虚析构语法:
阅读全文
摘要:在多态中,通常父类中虚函数的实现是毫无意义的,主要都是调用子类重写的内容 因此可以将虚函数改为纯虚函数 纯虚函数语法:virtual 返回值类型 函数名 (参数列表)= 0 ; 当类中有了纯虚函数,这个类也称为==抽象类== 抽象类特点: 无法实例化对象 子类必须重写抽象类中的纯虚函数,否则也属于抽
阅读全文
摘要:多态是C++面向对象三大特性之一 多态分为两类 静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名 动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定 - 编译阶段确定函数地址 动态多态的函数地址晚绑定 - 运行阶段确定函数地址 下面通过案例进行讲
阅读全文
摘要:子类继承父类后,当创建子类对象,也会调用父类的构造函数 问题:父类和子类的构造和析构顺序是谁先谁后? class Base { public: Base() { cout << "Base构造函数!" << endl; } ~Base() { cout << "Base析构函数!" << endl;
阅读全文
摘要:就是改变原来运算符的一些性质,也就是给运算符重新定义它的功能。 例子:比如编译器自己形成的浅拷贝构造函数可能会导致析构函数引发内存多次释放而引起内存错误,那么归根到底是由于赋值操作出了问题,那么我们可以针对类,单独对“=”进行运算符重载,解决浅拷贝可能引发的问题。 class CSstudent{p
阅读全文
摘要:继承的方式:①、public公有继承:父类的公有成员和受保护成员在子类中保持原有的访问属性,其私有成员仍为父类私有,在子类中是访问不了的,即使通过子类的共有成员函数也访问不了;②、private私有继承:父类的公有成员和受保护的成员在子类中变成了私有成员,其私有成员仍为父类私有, 在子类中是访问不了
阅读全文
摘要:1、函数重载的由来:在平时的编程过程中,一个函数可能就实现一个功能,多个功能就需要多个函数。但有时候多个功能之间很像,只是一些细节有差异,那么类似这样的功能能不能写成一个函数呢?例如,要求2个数中比较大的数,这两个数的类型有时候是int类型,有时候是float类型,那么我们按照之前的写法应该是这样封
阅读全文
摘要:默认情况下,c++编译器至少给一个类添加3个函数 1.默认构造函数(无参,函数体为空) 2.默认析构函数(无参,函数体为空) 3.默认拷贝构造函数(系统默认生成的拷贝构造函数,只负责进行简单的赋值操作,即浅拷贝),对属性进行值拷贝 构造函数调用规则如下: 如果用户定义有参构造函数,c++不在提供默认
阅读全文
摘要:1.结构体Struct student{ int age; string name; } 2.类 Class student{ int age; public: string name; } 其实C++类与结构体的用法很像,而且类是由结构体发展而来的,区别就是结构体里面的属性外界都可以访问,而类的成
阅读全文
摘要:1.推荐使用引用 2.引用和指针的联系:关于引用的性质,如果在程序中声明了b是变量a的引用,实际上在内存中为b开辟了一个指针型的存储单元,在其中存放变量a的地址,输出引用b时,就输出b所指向的变量a的值,相当于输出*b。引用其实就是一个指针常量,他的指向不能改变,只能指向一个指定的变量。所以,引用的
阅读全文
摘要:1.vertical-align 属性:用于设置一个·元素的垂直对齐方式,但是它只对行内元素或者行内块元素有效。也就是单纯的块元素它没有效果。 baseline 默认。元素放置在父元素的基线上。 sub 垂直对齐文本的下标。 super 垂直对齐文本的上标 top 把元素的顶端与行中最高元素的顶端对
阅读全文
摘要:#include <stdio.h> int main(void) { //-1为整数,内存中存储为四个字节 //-1原码:10000000000000000000000000000001 //-1反码:11111111111111111111111111111110 //-1补码:11111111
阅读全文