02 2021 档案

摘要:function fun( p1, p2, ) { console.log(p1, p2) } fun(1, 2) let obj = { first: "jane", last: "Doe", } console.log(obj) let arr = [ "a", "b", "c", ] cons 阅读全文
posted @ 2021-02-27 15:57 abcdefgab 阅读(81) 评论(0) 推荐(0)
摘要:{ console.log("abc".padStart(10)) console.log("abc".padStart(10, "foo")) console.log("abc".padStart(6, "123465")) console.log("abc".padStart(8, "0")) 阅读全文
posted @ 2021-02-27 15:56 abcdefgab 阅读(54) 评论(0) 推荐(0)
摘要:{ //对象属性遍历 let obj1 = { a: 1 } let obj2 = { b1: 2 } Object.defineProperty(obj2, "b2", { enumerable: false, value: 3 }) Object.setPrototypeOf(obj2, obj 阅读全文
posted @ 2021-02-27 15:49 abcdefgab 阅读(85) 评论(0) 推荐(0)
摘要:{ let task1 = () => new Promise((resolve, reject) => { console.log("task1 begin") setTimeout(() => resolve("task1 end.返回结果"), 1000) }) let task2 = () 阅读全文
posted @ 2021-02-27 15:44 abcdefgab 阅读(49) 评论(0) 推荐(0)
摘要:{ // //异常处理。失败回调函数处理 // let task1 = () => Promise.reject("task1 error") // async function fun() { // return await task1() // } // fun().then( // res = 阅读全文
posted @ 2021-02-27 15:39 abcdefgab 阅读(97) 评论(0) 推荐(0)
摘要:{ // let task1 = function () { // return new Promise(function (resovle, reject) { // setTimeout(function () { // resovle("task1的返回结果") // }, 1000) // 阅读全文
posted @ 2021-02-27 11:41 abcdefgab 阅读(83) 评论(0) 推荐(0)
摘要:include: let arr1 = [1, 2, 3] console.log(arr1.includes(2)) console.log(arr1.includes(4)) console.log(arr1.includes(2,1)) console.log(arr1.includes(2, 阅读全文
posted @ 2021-02-27 11:22 abcdefgab 阅读(85) 评论(0) 推荐(0)
摘要:index.html: <script src="../dist/bundle.js"></script> app.js: //引入模块 //使用解构的方式来获取模块中的暴露出内容 import { foo, bar } from "./modules/module1" import { MODUL 阅读全文
posted @ 2021-02-27 11:03 abcdefgab 阅读(76) 评论(0) 推荐(0)
摘要:index.html: <script src="./script/libs/sea.js"></script> <script> seajs.use("./script/main") </script> main.js: define(function(require){ //模块引入 //let 阅读全文
posted @ 2021-02-27 10:42 abcdefgab 阅读(98) 评论(0) 推荐(0)
摘要:index.html: <script src="./script/lib/require.js" data-main="./script/main.js"></script> main.js: (function () { require.config({ //模块名=>模块路劲映射 paths: 阅读全文
posted @ 2021-02-27 10:23 abcdefgab 阅读(125) 评论(0) 推荐(0)
摘要://定义和暴露模块 module.exports = { foo() { console.log("module1 foo() is called") } } //定义和暴露模块 module.exports = function () { console.log("module2 function 阅读全文
posted @ 2021-02-27 09:19 abcdefgab 阅读(161) 评论(0) 推荐(0)
摘要://super关键字 //1、作为函数调用,调用父类的构造函数. //ES6中要求,在字类构造函数中,必须执行一个super函数 //super指向父类的原型不是父类class class A { constructor(x) { this.x = x } } class B extends A { 阅读全文
posted @ 2021-02-27 09:03 abcdefgab 阅读(67) 评论(0) 推荐(0)
摘要://父类 class Person { constructor(name, age) { this.name = name this.age = age } printInfo() { console.log(this.name) console.log(this.age) } } //字类 cla 阅读全文
posted @ 2021-02-27 08:54 abcdefgab 阅读(64) 评论(0) 推荐(0)
摘要://静态属性是指定义在Class上本身的属性,而不是定义在实例对象上 class Person { //ES6明确规定 ,Class内部只能声明静态方法,不能有静态属性 //一个提案,在属性前加上static关键字,变成静态属性 //静态属性定义在类型上通过类型访问 //static country 阅读全文
posted @ 2021-02-27 08:32 abcdefgab 阅读(157) 评论(0) 推荐(0)
摘要://在类型上定义的方法都在原型链上 // 在类中定义方法前加上static关键字,该方法就是静态方法 // 静态方法可以直接通过类来直接调用 class Foo { //实例方法,定义在实例对象的原型上 methodA() { console.log("methodA is called") } / 阅读全文
posted @ 2021-02-27 08:20 abcdefgab 阅读(669) 评论(0) 推荐(0)
摘要://类的定义也可以使用表达式的形式定义 let MyClass = class Me { getClassName() { return Me.name } } let myclass = new MyClass() console.log(myclass.getClassName()) //err 阅读全文
posted @ 2021-02-26 23:38 abcdefgab 阅读(73) 评论(0) 推荐(0)
摘要:class Person { constructor(name, age) { this.name = name this.age = age } //__age__ = 0 get age() { console.log("get is called") //return this.__age__ 阅读全文
posted @ 2021-02-26 23:26 abcdefgab 阅读(632) 评论(0) 推荐(0)
摘要://constructor方法 ,通过new命令生成实例对象时,会自动调用该方法 //通常我们在constructor方法进行一些数据的初始化 // class Person { // constructor(name, age) { // console.log("constructor is c 阅读全文
posted @ 2021-02-26 23:22 abcdefgab 阅读(283) 评论(0) 推荐(0)
摘要:// function Person(name, age) { // this.name = name // this.age = age // } // Person.prototype.printInfo = function () { // console.log(this.name) // 阅读全文
posted @ 2021-02-26 23:20 abcdefgab 阅读(58) 评论(0) 推荐(0)
摘要://秒杀商品剩余件数类似数据时效性要求高 //目前web即时消息通讯的解决方案:轮询、长轮询、websocket //案例:模拟客户端通过轮询方式向服务发送异步请求获取数据 let ajax = function* () { yield new Promise((resolve, reject) = 阅读全文
posted @ 2021-02-26 22:36 abcdefgab 阅读(73) 评论(0) 推荐(0)
摘要://案例:使用Generator函数模拟抽奖的实现 function choujiang() { console.log("执行抽奖业务逻辑") } let myGenerator = function* () { //控制抽奖次数 let count = 3 while (count > 0) { 阅读全文
posted @ 2021-02-26 22:19 abcdefgab 阅读(86) 评论(0) 推荐(0)
摘要:function* f() { for (let i = 0; true; i++) { //yield表达式本身是没有返回值,或者说是返回undefined let reset = yield i console.log("reset", reset) if (reset) { i = -1 } 阅读全文
posted @ 2021-02-26 22:08 abcdefgab 阅读(179) 评论(0) 推荐(0)
摘要:var myIterator = {} //Generator函数就是一个遍历器对象的生成函数 myIterator[Symbol.iterator] = function* () { yield 1; yield 2; yield 3; } for (let v of myIterator) { 阅读全文
posted @ 2021-02-26 21:52 abcdefgab 阅读(90) 评论(0) 推荐(0)
摘要://Generator函数是ES6提供的一种异步编程解决方案 //语法行为和传统异步编程完全不同 //形式上和普通函数类似。有两个特征 //1、function关键字后面有个星号 //2、函数体内使用yield表示,定义不同的内部状态 //Generator函数就是一个状态机,在内部封装了多个状态 阅读全文
posted @ 2021-02-26 11:34 abcdefgab 阅读(92) 评论(0) 推荐(0)
摘要://对象上默认没有部署iterator接口 let obj1 = {} //如何将Iterator接口部署到目标对象上 //Symbol.iterator =>指向对象的默认遍历器方法 let obj2 = { data: ["hello", "world"], [Symbol.iterator]: 阅读全文
posted @ 2021-02-26 11:07 abcdefgab 阅读(45) 评论(0) 推荐(0)
摘要://表示"集合"的数据结构:数组Array,对象Object,Map和Set //通过引入Iterator一种机制,为各种不同的数据结构提供统一的访问接口 //作用 //为各种数据结构的遍历,提供一个统一,简便的访问方式 //ES6创造了一种新的遍历命令For...of循环 let target = 阅读全文
posted @ 2021-02-26 10:53 abcdefgab 阅读(51) 评论(0) 推荐(0)
摘要:let urlBig = "http://static.699pic.com/best_album/57_banner_____.jpg!/fh/410" let urlMid = "http://static.699pic.com/best_album/57.jpg" let urlSmall = 阅读全文
posted @ 2021-02-26 10:18 abcdefgab 阅读(68) 评论(0) 推荐(0)
摘要://Promise是一个容器,保存某个异步的操作 //有三种状态,进行中、已成功、已失败 //resolve代表成功的回调函数;reject代表失败的回调函数 // let promise=new Promise(function(resolve,reject){ // //相关的异步操作 // / 阅读全文
posted @ 2021-02-26 09:54 abcdefgab 阅读(77) 评论(0) 推荐(0)
摘要:// function loadImage(url){ // let image=new Image(); // image.src=url; // image.onload=function(){ // console.log("图片加载完成") // } // image.onerror=fun 阅读全文
posted @ 2021-02-25 23:31 abcdefgab 阅读(68) 评论(0) 推荐(0)
摘要://观察者模式 //监听对象属性的修改,如果属性值发生变化,打印出对象的属性信息(to do somthing) let queuedObservers = new Set() //将需要处理的函数,添加到set结构中 let observe = fn => queuedObservers.add( 阅读全文
posted @ 2021-02-25 22:56 abcdefgab 阅读(93) 评论(0) 推荐(0)
摘要://1.将Object对象的一些属于语言自身的方法,放到Reflect对象上。(代码重构) //Object.defineProperty() =>Reflect.defineProperty() //2、修改了某些Object方法的返回结果,让其变得更加合理 //Reflect.definePro 阅读全文
posted @ 2021-02-25 22:53 abcdefgab 阅读(78) 评论(0) 推荐(0)
摘要://目标对象 let p = { name: "令狐狐冲", age: 18, __skill__: "独孤九剑" } //创建代理对象 let proxy = new Proxy(p, { //对姓名做屏蔽操作 令狐狐冲=>令**冲 //拦截对象属性的读取操作 get(target, key) { 阅读全文
posted @ 2021-02-25 18:31 abcdefgab 阅读(97) 评论(0) 推荐(0)
摘要:{ let wm = new WeakMap(); let key = { foo: 1 } wm.set(key, 2) console.log(wm.get(key)) let k1 = [1, 2] let k2 = [3, 4] let wm2 = new WeakMap([[k1, "fo 阅读全文
posted @ 2021-02-25 18:15 abcdefgab 阅读(71) 评论(0) 推荐(0)
摘要:首先set和map区别:set类似于数组,map类似于键值对 set和weakset:weakset是对象值数组 map和weakmap:weakmap的键可以是对象 阅读全文
posted @ 2021-02-25 17:20 abcdefgab 阅读(103) 评论(0) 推荐(0)
摘要:WeakSet { //WeakSet和Set类似,也是不重复值得集合,与Set有两个区别 //1、WeakSet得成员只能是对象,而不能是其它数据类型得值 //2、WeakSet中的对象都是弱引用,垃圾回收机制不会考虑WeakSet对该对象的引用 let ws=new WeakSet() ws.a 阅读全文
posted @ 2021-02-25 16:48 abcdefgab 阅读(329) 评论(0) 推荐(0)
摘要:set类似于数组,但是成员的值都是唯一的,没有重复 { let s=new Set() [2,3,4,4,2,5,1].forEach(x=>s.add(x)) for(let i of s){ console.log(i) } } { let s=new Set([1,2,2,3,1,4]) le 阅读全文
posted @ 2021-02-25 16:36 abcdefgab 阅读(75) 评论(0) 推荐(0)
摘要:Symbol表示一个独一无二的值,防止对象属性名称的冲突 let s1=Symbol("foo") let s2=Symbol("bar") console.log(s1 s2) false let mySymbol=Symbol() let obj={} obj[mySymbol]="hello" 阅读全文
posted @ 2021-02-25 16:14 abcdefgab 阅读(79) 评论(0) 推荐(0)
摘要:正则拓展 u修饰符的使用:在正则式中使用unicode匹配 y修饰符的使用:y修饰符和g修饰符相似,也是全局匹配,不同在于,g只要剩余位置中存在匹配即可,y修饰符确保匹配从剩余第一个位置开始 进制拓展 二进制表示方法(0b): console.log(0b11111) 八进制表示方法(0o): co 阅读全文
posted @ 2021-02-25 11:08 abcdefgab 阅读(88) 评论(0) 推荐(0)
摘要:let regex=/xyz/i console.log(regex.exec("XYZabc")) let regex=new RegExp("xyz","i") console.log(regex.exec("XYZabc")) let regex=new RegExp(/xyz/i) cons 阅读全文
posted @ 2021-02-24 23:32 abcdefgab 阅读(38) 评论(0) 推荐(0)
摘要:startsWith(str) endsWith(str) includes(str) repeat(num) 阅读全文
posted @ 2021-02-24 17:31 abcdefgab 阅读(69) 评论(0) 推荐(0)
摘要:字符的unicode的表示 js中用两个字节表示一个字符 es6对超出\uFFFF范围的字符,进行了支持 console.log("\u{20BB7}") var s1="𠮷" var s2="中" console.log("𠮷 length",s1.length) console.log("中 阅读全文
posted @ 2021-02-24 17:26 abcdefgab 阅读(221) 评论(0) 推荐(0)
摘要:当直接将用户输入的字符串变量解析到浏览器上时,会有模板注入风险 document.write(`<script>alert("")<\/script>`) 由标签模板进行字符串替换,避免模板注入 function safeHtml(data, v1) { console.log(arguments) 阅读全文
posted @ 2021-02-24 17:12 abcdefgab 阅读(115) 评论(0) 推荐(0)
摘要:let和const 1.块级作用域 解决方法1: var a=[]; for(var i=0;i<10;i++){ (function(i){ a[i]=function(){ console.log(i) } })() } 解决方法2: var a = []; for (let i = 0; i 阅读全文
posted @ 2021-02-24 11:11 abcdefgab 阅读(124) 评论(0) 推荐(0)
摘要:JSON var jsonstr=JSON.stringify(obj) var jsonObj=JSON.parse(str) Object对象的拓展defineProperty 这种添加属性默认是不能被修改的(需要设置writeable参数)不能被遍历(需要设置enumerable)不能被删除( 阅读全文
posted @ 2021-02-24 10:34 abcdefgab 阅读(319) 评论(0) 推荐(0)
摘要:Strict Mode严格模式 1.不是用var声明的变量,在严格模式下不被通过 2.带有"eval"的操作都被禁止 <script> "use strict" 全局 globalVal=100; 会报错 var globalVal=100; 不会 var eval=100; console.log 阅读全文
posted @ 2021-02-23 17:58 abcdefgab 阅读(104) 评论(0) 推荐(0)
摘要:使用原型链继承 定义父类型构造函数 给父类型的原型添加方法 定义子类型的构造函数 创建父类型的对象赋值给子类型的原型 将子类型原型的构造属性设置为子类型 给子类型原型添加方法 创建子类型的对象:可以调用父类型的方法 关键:子类型的原型为父类型的一个实例对象 function Person(name, 阅读全文
posted @ 2021-02-23 16:56 abcdefgab 阅读(75) 评论(0) 推荐(0)
摘要:Object构造函数模式 先创建空Object对象,再动态添加属性/方法 适用场景:起始时不确定对象内部数据 问题:语句太多 var obj={} obj.name="tom" obj.age=23 对象字面量模式 使用创建对象,同时指定属性/方法 适用场景:起始时对象内部数据是确定的 问题:如果创 阅读全文
posted @ 2021-02-23 16:11 abcdefgab 阅读(81) 评论(0) 推荐(0)
摘要:Object构造函数模式 先创建空Object对象,再动态添加属性/方法 适用场景:起始时不确定对象内部数据 问题:语句太多 var obj={} obj.name="tom" obj.age=23 对象字面量模式 使用创建对象,同时指定属性/方法 适用场景:起始时对象内部数据是确定的 问题:如果创 阅读全文
posted @ 2021-02-23 15:58 abcdefgab 阅读(64) 评论(0) 推荐(0)
摘要:闭包 example var btns=document.getElementsByTagName("input") for(var i=0;i<btns.length;i++){ btns[i].click=function(){ alert(i) } } OUTPUT:这个时候会出现点击每个bt 阅读全文
posted @ 2021-02-23 15:18 abcdefgab 阅读(85) 评论(0) 推荐(0)
摘要:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.o 阅读全文
posted @ 2021-02-22 17:51 abcdefgab 阅读(199) 评论(0) 推荐(0)
摘要:虚方法、抽象类、接口区别:虚方法:父类可能需要实例化,父类方法需要方法体,可以找到一个父类 抽象类:抽象方法,父类不能实例化,且父类方法不能实现方法体,不可以找出一个父类,需要抽象 接口:多继承 length:是指所有维度的长度 count:是指一维的长度 字符串具有不可变性,虽然是引用类型,但分配 阅读全文
posted @ 2021-02-22 17:50 abcdefgab 阅读(127) 评论(0) 推荐(0)
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace filestreamtest { class Program { stat 阅读全文
posted @ 2021-02-22 17:47 abcdefgab 阅读(124) 评论(0) 推荐(0)
摘要:变量提升和函数提升 变量提升 var a=3; function fun(){ console.log(a) var a=5; /* *var a; console.log(a); a=5; */ } OUTPUT:undefined 函数提升 fun2() function fun2(){ con 阅读全文
posted @ 2021-02-22 17:38 abcdefgab 阅读(108) 评论(0) 推荐(0)
摘要:原型(空的实例对象) 每个函数都有一个prototype属性,它默认指向一个object空对象(即称为原型对象) 原型对象中有一个属性constructor,它指向函数对象 给原型对象添加属性(一般都是方法) 作用:函数的所有实例对象自动拥有原型中的属性(方法) 显示原型和隐私原型 每个函数func 阅读全文
posted @ 2021-02-21 21:43 abcdefgab 阅读(83) 评论(0) 推荐(0)
摘要:数据类型 数字 (Number),整数或浮点数,例如42或3.14159 字符串 (String) 布尔值 (Boolean) null (js大小写敏感,因此null和NULL不一样) undefined (变量被声明了,但是没有赋值时) Symbol (es6中新添加的类型,一种实例是唯一且不可 阅读全文
posted @ 2021-02-21 11:38 abcdefgab 阅读(45) 评论(0) 推荐(0)
摘要:恢复内容开始 MongoDB 分布式文档存储数据库 1.简介 MonGoDB是为快速开发互联网web应用设计的数据库系统 MongoDB的设计目标是简洁、灵活、作为Web应用栈的一部分 MongoDB的数据模型是面向文档的,类似于JSON的结构 2.基本指令 show dbs or show dat 阅读全文
posted @ 2021-02-19 22:19 abcdefgab 阅读(71) 评论(0) 推荐(0)
摘要:1.静态资源访问,需要设置路由和响应标头 2.url模块、path模块、querystring模块 Url { protocol: null, slashes: null, auth: null, host: null, port: null, hostname: null, hash: null, 阅读全文
posted @ 2021-02-19 14:35 abcdefgab 阅读(55) 评论(0) 推荐(0)
摘要:M:模型 public class Student { private String rollNo; private String name; public String getRollNo() { return rollNo; } public void setRollNo(String roll 阅读全文
posted @ 2021-02-19 10:45 abcdefgab 阅读(124) 评论(0) 推荐(0)
摘要:var express = require("express") var path = require("path") var app = express() app.use(function (req, res, next) { console.log("中间件1执行") next() }) // 阅读全文
posted @ 2021-02-19 09:40 abcdefgab 阅读(130) 评论(0) 推荐(0)
摘要:1.node.js是一个构建在chrome V8引擎上的javascript运行环境 2.node.js特点:单线程、事件驱动、非阻塞IO模型、轻量 3.node.js是单线程的(多个请求都是一个线程在处理) 4.事件驱动是node.js底层机制,有一个事件环,保证node.js可以高效准确的运行而 阅读全文
posted @ 2021-02-17 18:26 abcdefgab 阅读(77) 评论(0) 推荐(0)
摘要:###关于nginx.conf配置文件 ####问题: 403 Forbidden 原因:权限不够,或者启动nginx的不是当前用户 解决:(1) 将上线项目文件权限改为777 (2)将/etc/nginx/nginx.conf文件里面的use nginx;改为use root; 404 not f 阅读全文
posted @ 2021-02-16 18:07 abcdefgab 阅读(763) 评论(0) 推荐(0)
摘要:###如果不打算用redux-thunk import { createStore, compose} from 'redux'; import reducer from './reducer' const composeEnhancers = window.__REDUX_DEVTOOLS_EXT 阅读全文
posted @ 2021-02-10 11:10 abcdefgab 阅读(73) 评论(0) 推荐(0)
摘要:####diff算法主要是同级比较,生成数组,进行数组替换 ####reducer可以接收state,但是绝不能修改state ####纯函数指的是:给固定收入,就一定有固定的输出,而且不会有任何副作用【不能例如:new data(),对原有函数参数进行修改】 ###中间件是action和store 阅读全文
posted @ 2021-02-10 11:07 abcdefgab 阅读(48) 评论(0) 推荐(0)
摘要:原本代码: import { SREACH_FOCUS, SREACH_BLUR } from "./actionType" export const searchFocus = () => { type: SREACH_FOCUS } export const search_blur = () = 阅读全文
posted @ 2021-02-09 17:34 abcdefgab 阅读(495) 评论(0) 推荐(0)
摘要:原来 修改(不用在构造函数里面定义) 阅读全文
posted @ 2021-02-07 19:41 abcdefgab 阅读(479) 评论(0) 推荐(0)
摘要:查看已经开放得的端口:firewall-cmd --list-all设置开放的端口sudo firewall-cmd --add-port=80/tcp --permanent查看防火墙是否开启systemctl status firewalld关闭防火墙sudo systemctl stop fi 阅读全文
posted @ 2021-02-07 15:22 abcdefgab 阅读(61) 评论(0) 推荐(0)
摘要:1.把.bind(this)提升到constructor里面 2.在生命周期函数里面shouldComponentupdate里面做父组件改变重新渲染以致于子组件重新渲染的禁止 3.在setstate里面改变数据 4.key值 阅读全文
posted @ 2021-02-01 23:28 abcdefgab 阅读(73) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-02-01 18:27 abcdefgab 阅读(36) 评论(0) 推荐(0)
摘要:1.当父组件的render函数被运行的时候,它的子组件都将重新运行 2.当组件的state或者props发生改变的时候,render函数就会重新运行 3.围绕react衍生出来的思考: 1.声明式开发 2.可以和其它框架并存 3.组件化 4.单向数据流 5.视图层框架 6.函数式编程 阅读全文
posted @ 2021-02-01 18:19 abcdefgab 阅读(67) 评论(0) 推荐(0)
摘要:###1.vscode保存react项目的时候由于js-css-html插件格式化代码导致react代码缩进错误 解决方法:禁用js-css-html插件 ###2.react和vue不同,react方法的定义需要加而不是"",否则报Expected onClick listener to be a 阅读全文
posted @ 2021-02-01 10:35 abcdefgab 阅读(111) 评论(0) 推荐(0)