统计
发布:378篇
浏览:932599次
-
使用场景 session运行在服务器端,当客户端第一次访问服务器时,可以将客户的登陆信息保存。 可以保存一些客户的常用信息,当客户端再次获取常用信息时,不必再从数据库中进行查询。 在使用session时数据会直接存储在内存中,数据过大会造成溢出,所以session需要配合数据库使用,这里使用redis存储session数据 使用redis需要在服务器中安装redis node项目引入 npm install express-session --save npm install redis connec... 展开全文
-
定义 若存在函数 f(n),使得当n趋近于无穷大时,T(n)/ f(n)的极限值为不等于零的常数,则称 f(n)是T(n)的同数量级函数。 记作 T(n)= O(f(n)),称O(f(n)) 为算法的渐进时间复杂度。也叫大O表示法。 推导原则 用常数1取代运行时间中的所有加法常数; 在修改后的运行次数函数中,只保留最高阶项; 如果最高阶项存在且不是1,则去除与这个项相乘的常数。 举例 例1 for (let i = 0; i < n; i++) { ... 展开全文
-
函数用途 用于检测输入的代码是否存在未闭合、错误嵌套等错误 实现原理 将输入html中标签分类两类:无内容元素和有内容元素 无内容元素: img、br、hr等 将此类标签检查后过滤 有内容元素: div、span、p等 遍历所有此类标签,判断该字符串是否正确闭合即可 举例: <div></div> //true <div></div //false <div> //false <div><div></div> //false 代码实现 function re(data) { ... 展开全文
-
后端(Node.js) 后端的作用是为前端提供上传所需要的凭证 准备 注册七牛开发者帐号 登录七牛开发者后台,获取AccessKey 和 Secret Key 创建对象存储的存储空间 地址:https://portal.qiniu.com/user/key sdk安装 npm install qiniu --save token生成 let mac = new qiniu.auth.digest.Mac(accessKey, secretKey); let options = { scope: config.Bucket, expires: 7200, returnBody: '{"key":"$(key)","hash":"$... 展开全文
-
cross-env cross-env是跨平台设置和使用环境变量的脚本。 在大多数Windows命令行中在使用NODE_ENV = production设置环境变量时会报错。同样,Windows和Linux命令如何设置环境变量也有所不同。 使用cross-env可以设置在不同的平台上有相同的NODE_ENV参数。 适用场景 适用于本地线上环境有差异的场景,例如本地线上使用不用的开发域名则可以通过NODE_ENV来判断 if(process.env.NODE_ENV!='development'){ //线上环境 } proce... 展开全文
-
使用 [] 拼接变量 result.article_title //等效 let a='article'; result[a + '_title'] 使用evel() let a1 = 123 let s = 1 console.log(eval('a' + s)) //123 展开全文
-
数组创建 使用Array 构造函数 //使用Array 构造函数,在使用Array 构造函数时也可以省略new 操作符 var colors = new Array(); var colors = Array(); //如果预先知道数组要保存的项目数量,也可以给构造函数传递该数量,而该数量会自动变成length属性的值。 var colors = new Array(20); 使用数组字面量表示法 数组字面量由一对包含数组项的方括号表示,多个数组项之间以逗号隔开 var colors = ["red", "blue", "green"]; // ... 展开全文
-
ES6提供了剩余参数,剩余参数将没有对应形参的参数聚合成一个数组: function f(a,...b) { console.log(a)//1 console.log(b)//[2,3] } f(1,2,3) 剩余参数为空时返回空数组 function g(...b) { console.log(b)//[] } g() tips: 参数有形参(parameter)和实参(argument) 形参就是函数声明时的变量,实参是我们调用该函数时传入的具体参数。 展开全文
-
(function () { "use strict" let _global; function Add(data) { this.defaulData = { a: 0, b: 0, } this.data = Object.assign(this.defaulData, data) this.init() } Add.prototype = { init: function () { console.log(this.data) }, add: function (...a) { console.log(a) ... 展开全文
-
isNaN 与 JavaScript 中其他的值不同,NaN不能通过相等操作符(== 和 ===)来判断 ,因为 NaN == NaN 和 NaN === NaN 都会返回 false。 因此,isNaN 就很有必要了。 isNaN() 函数用来确定一个值是否为NaN 。 如果isNaN函数的参数不是Number类型, isNaN函数会首先尝试将这个参数转换为数值,然后才会对转换后的结果是否是NaN进行判断。因此,对于能被强制转换为有效的非NaN数值来说(空字符串和布尔值分别会被强制转换为数值0和... 展开全文
-
JavaScript 是一种弱类型或者说动态语言。这意味着你不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。这也意味着你可以使用同一个变量保存不同类型的数据 显式转换 通过String(),Number(),Boolean(),parseInt(),parseFloat()函数强制转换 var str=123; var str1='123'; console.log(typeof str);//number console.log(typeof str1);//string console.log(typeof String(str));//string console.log(typeof Nu... 展开全文
-
数据类型 s的数据类型有种划分方式为 原始数据类型和 引用数据类型。 原始数据类型 存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。栈区包括了 变量的标识符和变量的值。 引用数据类型 存储在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point),指向存储对象的内存处。放在栈空间中的值是该对象存储在堆中的地址。 基本类型 Undefined、Null、Boolean、Number、String、Symb... 展开全文
-
当打包构建应用时,JavaScript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。 结合 Vue 的异步组件和 Webpack 的代码分割功能,轻松实现路由组件的懒加载。 我们想把某个路由下的所有组件都打包在同个异步块 (chunk) 中。只需要使用 命名 chunk,一个特殊的注释语法来提供 chunk name (需要 Webpack > 2.4)。 const Foo = () =&... 展开全文
-
vue的生命周期 beforeCreate 在实例初始化之后,数据观测(data observer) 和 event/watcher 事件配置之前被调用。 created 实例已经创建完成之后被调用。在这一步,实例已完成以下的配置:数据观测(data observer),属性和方法的运算, watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。 beforeMount 在挂载开始之前被调用:相关的 render 函数首次被调用。 mounted el 被新创建的 vm.$el 替换,并挂载到实... 展开全文
-
封装 // 封装请求 Object.defineProperty(exports, "__esModule", { value: !0 }), exports.request = void 0; var e = function(e) { return e && e.__esModule ? e : { default: e }; }(require("./es6-promise.min")), t = exports.request = function() { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "GET"; return function(n, r) { ... 展开全文
-
html <video id="v1" src="http://0517.dev.victtech.com/ppt1/video/video1.mp4" controls></video> js <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script> <script> $('document').ready(function(){ var total_time =0; var record_flag = 0; //获取媒体总长度 $('#v1').bind('loadedmetadata',function(e){ total_time ... 展开全文
-
创建promose.js文件 import Promise from './es6-promise.min'; export const request = (method = 'GET') => (url, data) => { return new Promise((resolve, reject) => { wx.request({ url, data, method, header: { 'Content-Type': 'application/json' }, success: function (res) { resolve(res.data) }, fail: function (err) { ... 展开全文
-
<input type="text" @click="scroll"> 这里使用click事件而不是focus事件,input首次获得焦点时点击隐藏软键盘,然后再次点击input呼出软键盘但这时并不会触发focus事件 获取当前input距离页面顶部的距离,-70为滚动后input距离浏览器顶部距离 微信端input获得焦点是会有默认滚动动画所以这里给出了400ms的延时 scroll(){ let a = $(event.currentTarget).offset().top - 70; setTimeout(() => { $('... 展开全文
-
1.定义专用模块来配置全局变量 定义一个专用模块来配置全局变量,然后通过export暴露出去,在需要的组件引入 global.vue const a=1; export default{ a } 引入 import global from './global' 2.通过全局变量挂载到Vue.prototype main.js Vue.prototype.a = 1; 组件调用 console.log(this.a) 3.使用window对象 window.a=1 4.使用vuex 安装: npm install vuex --save 新建store.js文件 import Vue from 'vue' import ... 展开全文
-
全局安装webpack npm install -g webpack 创建项目 mkdir webpack-test cd webpack-test npm init npm init后会在根目录下生成一个名为package.json的文件,文件中srcipts字段设置如下: "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "dev": "webpack --mode development", "build": "webpack --mode production" }, 这样就可以直接使用命令npm run build来进行文件打包 项... 展开全文