![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Javascript
文章平均质量分 61
林涧
奋斗中的前端码农
展开
-
HTML5中的canvas简介(一)
HTML5中新增了一个canvas元素,可以通过JavaScript动态的在这个元素上进行绘图。除了基本的绘制2D图形,canvas还提供了名为webGL的3D上下文。 一、基本用法: <canvas width="200" height="200" id="testcanvas"> </canvas> 1)使用canvas必须得设置...原创 2018-02-10 17:31:30 · 277 阅读 · 0 评论 -
cookie,sessionStorage,localStorage的区别
网上讲这方面的很多,自己总结了几点:1、相同点:数据都保存在浏览器,同源共享。即相同的域下可以修改读取。2、不同点: 大小数量: IE6或更低版本最多20个cookie,IE7+可以有50个。 cookie大小4KB左右,超过部分会被截掉。sessionStoage,localStoage大小可达5M。 传输:每次请求cookie都会发送到服务器,然后回传给浏览器,sessionS...原创 2018-01-19 17:32:50 · 1031 阅读 · 0 评论 -
网页劫持
web前端安全除了平常的XSS、CSRF外还存在一种安全问题就是网页劫持。所谓的网页劫持就是非法的网页被修改拦截了。来看下面的具体解释。什么是网页劫持: 使用HTTP请求请求一个网站页面的时候,网络运营商会在正常的数据流中插入精心设计的网络数据报文,让客户端(通常是浏览器)展示“错误”的数据,通常是一些弹窗,宣传性广告或者直接显示某网站的内容。分类: I、跳转型劫持:用户...原创 2018-03-07 20:59:48 · 4289 阅读 · 0 评论 -
ES5中的几种继承方式
原生javascript中的继承,是考验对JS掌握程度一个重要反馈,现在来总结JavaScript中的几种继承方式,并分析其利弊。主要有三种方式:构造函数方式、原型链继承方式、组合继承以及寄生组合继承方式。一、借用构造函数 functionSuperType(name){ this.colors=['red','blue','green']; } ...原创 2018-03-07 23:40:51 · 661 阅读 · 0 评论 -
mongDB+nodejs的实践
前面写了一篇文章介绍mongodb的基本用法,很简单。现在来看下利用Nodejs的express框架搭建的一套后端服务器,数据据采用的是mongodb。项目接口如下前端用的Vue框架搭建的,这里不讲主要是讲后端Mock部分如何使用MongoDB。1、安装MongoDB 如果使用npm 管理工具的话,执行 npm install --save connect-mongo mongo...原创 2018-03-09 16:16:28 · 347 阅读 · 0 评论 -
apply和call区别
我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家分享.. 如有什么不对的或者说法不明确的地方希望读者多多提一些意见,以便共同提高..主要我是要解决一下几个问题:1. apply和call的区别在哪里2. 什么情况下用a...转载 2013-12-20 11:01:20 · 493 阅读 · 0 评论 -
剖析 Promise
最终实现的Promise代码,详细过程情况文章最后的原文链接。// 例1function getUserId() { return new Promise(function (resolve) { // 异步请求 Y.io('/userid', { on: { success: function (i...转载 2018-02-24 14:16:47 · 140 阅读 · 0 评论 -
React简单概览
学习React 一段时间了,现在总结下个人对React的认识。什么是React React是Facebook推出的一个高效的javascript库,用于构建“可预期的”和“声明式的”Web用户界面,可以用来构建因数据不断变化的大型项目,React 本身只涉及UI层。React的特点 个人认为React有以下几个特点: 组件化 React可构造多种类...原创 2018-03-04 12:12:07 · 360 阅读 · 0 评论 -
Javascript跨域问题总结
今天来总结下前端跨域问题的解决方案,网上有很多这个问题的总结和描述了;跨域问题也是前端的一个老问题了,现在就来简单聊聊。 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响,它要求请求的协议,端口,域名一致。如果请求的协议,端口,域名任何一个不一样,则出现跨域问题。同源策略的限制有2...原创 2018-04-10 18:46:08 · 289 阅读 · 0 评论 -
vue插件开发
vue插件开发主要是用来实现一些全局方法或者全局对象。Vue的插件要求是实现一个install公开方法。其中此install方法的第一个入参是Vue构造器,第二个入参是是一个可选的选项对象。一、开发以一个Alert的弹窗插件为示例,Alert.js;定义一个全局变量Alert ,var alert;对Alert定义一个全局公开方法install,alert.install = functi...原创 2018-06-20 16:28:05 · 903 阅读 · 0 评论 -
Webpack 常用插件总结
讲讲webpack常用的几个插件:1、uglifyjs-webpack-plugin作用:压缩混淆js文件用法配置:plugins: [ new UglifyJsPlugin({ uglifyOptions: { // 压缩配置 output: { // 输出 c...原创 2019-07-05 15:51:42 · 791 阅读 · 0 评论 -
webpack source map详解
1. 什么是source map ? 根据名字可以推测出source map就是我们编译后的源文件映射。当使用webpack 编译前端项目时,配置项devtool控制是否生成source map。2. 分类 source map 文件可分为2类,内联型和外联(独立)型: 内联源映射,将映射的数据之间添加在生成的文件中,在.map文件中的‘sourcesConten...原创 2018-07-12 17:34:47 · 4829 阅读 · 0 评论 -
Javascript 模块化规范
模块化的意思就是在解决某一问题时,采用分类的思想把问题进行系统性分解,从而解决问题的方式。目前JavaScript领域广泛使用的模块化规范包括,commonJs规范、AMD规范,CMD规范。今天简单介绍下这三种开发规范。一、commonjs规范 commonjs出现的背景和JavaScript的函数式编程有关,没有标准化模块化系统、标准库少等。所以commonjs就是为了解决...原创 2018-08-06 19:48:49 · 3212 阅读 · 0 评论 -
Vue项目JS脚本错误捕获
今天讲下Vue项目的的脚本错误捕获。一、JS 脚本一般的前端项目错误捕获是在window.onerror中进行处理。比如:/** * 监听全局脚本错误 * @param {String} errorMessage 错误信息 * @param {String} scriptURI 出错的文件 * @param {Long} ...原创 2018-11-30 20:02:33 · 6122 阅读 · 2 评论 -
微信小程序事件小结
最近在写微信小程序,分(总)享(结)一些小的开发技巧。1、事件绑定bindtap 微信小程序里面的事件绑定方法是bindtap,此方法只能指定方法名,不能传参数。 <image src="{{item.imgUrl}}" class="swiper-img" bindtap="golink" data-link-url="{{item.linkUrl}}"/&g...原创 2019-06-06 10:43:46 · 234 阅读 · 0 评论 -
Nodejs笔记(一)
Nodejs作为后端javascript运行的运行平台,Nodejs没有改变javascript语言本身的特性,依旧基于作用域和原型链,同时保留了前端javascript的接口库。一、特点: 1、异步IO,Nodejs中基本的IO操作都是异步的,和前端发送Ajax类似;如文件读取,发送请求。 2、事件与回调函数,Node中基本操作都是基于事件,回调函数用来处理异步调用返回的数...原创 2018-02-09 17:09:18 · 281 阅读 · 0 评论 -
ES6中的let和var的区别
ES6中新增了let命令用来声明变量,let和var 声明的变量有什么区别呢?现在来讲解总结下。1、基本用法:和var 命令类似,直接使用 let 变量 = 值。{ let a = '1'; var b = 'a';}a // error: a is not defined.b // 1 2、有效作用域:let声明的变量只在其命令所在的代码...原创 2018-01-19 17:03:26 · 1481 阅读 · 2 评论 -
javascrit 中事件Event(三)— HTML5事件
这篇主要概述HTML5事件,在HTML5中的事件中对Event进行了扩展,新增了一些新的事件,如contextmenu,beforeunload,DOMContentLoaded,readystatechange事件等。下面讲解重点用的多的几个事件。1、beforeunload:在浏览器关闭(卸载)之前触发,可以通过它取消关闭(卸载)并继续使用原有页面。例:关闭页面前弹出提示框提示...原创 2018-01-09 15:08:00 · 1086 阅读 · 0 评论 -
JS事件冒泡处理
什么是JS事件冒泡?在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。如何来阻止Jq转载 2014-03-12 23:19:08 · 773 阅读 · 0 评论 -
XSS跨站脚步攻击及防范
XSS(Cross Site Script)跨站脚本攻击。它指的是恶意攻击者往Web 页面里插入恶 意html 代码,当用户浏览该页之时,嵌入其中Web 里面的html 代码会被执行,从而达到侵害用户信息目的。原理: 攻击者先构造一个跨站页面,利用script、<IMG>、<IFRAME>等各种方式使得用户浏览这个页面时,触发对被攻击站点的http 请求。如果被...原创 2017-09-04 17:35:40 · 515 阅读 · 0 评论 -
js Arguments对象
js的内置对象Arguments是函数的实际函数,他保存函数的所有参数。Arguments是一个对象,typeof Arguments得到的是Object,但有length,index的属性。强调的是Arguments不是数组Array。引用一个形式参数可以用参数名,也可以用arguments[]数组形式,其中arguments[0]表示第一个参数。Arguments和Array的区别:j转载 2015-04-18 22:29:54 · 345 阅读 · 0 评论 -
使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
目录(?)[+]在访问现在很火的google plus时,细心的用户也许会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器的前进和后退。不禁让人想问,是什么有这么强大的功能呢?HTML5里引用了新的API,就是history.pushState和history.replaceState,就是通过这个接口做到无刷新改变页面转载 2014-03-06 15:26:16 · 744 阅读 · 0 评论 -
RequireJS 2.0 API之配置项
原文地址:http://blog.csdn.net/kevinwon1985/article/details/8155267RequireJS 把每一个依赖项当做一个script标签,使用 head.appendChild()来加载。RequireJS 会计算好依赖关系,按照正确的顺序依次加载所有依赖项。然后才调用模块的构造函数。 在能同步加载模块的服务端JS中使用 RequireJS转载 2014-03-04 20:03:37 · 784 阅读 · 0 评论 -
jquery插件验证表单
--> --> -->$().ready(function() {$("#signupForm").validate({rules : {pdId : {required : true,digits:true,maxlength:20},pdName:"required",pdPrice:{required : true,number原创 2013-05-15 16:30:27 · 508 阅读 · 0 评论 -
express简介
Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站。Express 框架核心特性: 1)可以设置中间件来响应 HTTP 请求。 2)定义了路由表用于执行不同的 HTTP 请求动作。 3)可以通过向模板传递参数来动原创 2017-09-14 14:21:36 · 1032 阅读 · 0 评论 -
nodejs中的http简介
Node.js 提供了http模块分为高效的HTTP服务器和简易的HTTP客户端。1)HTTP服务器 1.http.Server是http模块中的HTTP服务器对象。 2.使用http.createServer创建一个http.Server的实例。 3.http.Server的事件 3.1 request :当接受客户端请求,提供req和原创 2017-09-14 14:24:22 · 350 阅读 · 0 评论 -
MongoDB简介
一、基本操作 查询所有数据库列表 : show dbs 切换到test数据库 : use test 创建数据库blogdb : use blogdb 创建一个集合 : db.createCollection(“users”) 添加一个文档 : db.users.insert({“name”:“admin”,“password”:“111”}) 查...原创 2017-10-09 13:46:15 · 336 阅读 · 0 评论 -
双向数据绑定
是什么: 基本含义就是数据的操作反映到数据,数据的改变实时展现到界面。原理:实现响应式或双向数据绑定分三个步骤: 1)View中UI元素和Model中的data中的数据绑定 2)当UI元素内容变化时,data中的数据同步变化。即View ==>Model 3)当Model中的data数据变化时,View中的UI元素同步变化原创 2017-11-30 18:03:46 · 353 阅读 · 0 评论 -
Array的基本操作
1 、合并操作 concat : var C = A.concat(B); 用A数组合并B数组,生成新的C数组。 循环插入 使用Array#push() 方法 // 将数组 `b` 插入 `q` for (var i=0; i q.push( b[i] ); }原创 2017-12-01 14:19:44 · 274 阅读 · 0 评论 -
vue中使用keepAlive组件缓存遇到的坑
项目开发中在用户由分类页category进入detail需保存用户状态,查阅了Vue官网后,发现vue2.0提供了一个keep-alive组件。上一篇讲了keep-alive的基本用法,现在说说遇到的坑。先说项目中的配置 在App.vue中的设置 在router中增加配置meta 上面这个设置后发现问题了,从categor原创 2017-12-27 10:40:09 · 21363 阅读 · 4 评论 -
vue项目中实现返回按钮时遇到的坑
公司开发一个音频项目用的是vue 2.0 ,vue-router 2.0 。在实现返回的时候遇到了一个坑,下面讲讲。一般的返回是直接使用this.$router.go(-1)或者使用window.history.back() 如果当前是第一页 往前已经没有历史记录,使用上面的方法就不能返回 或者 直接返回到了空白页,这时我们就需要进行判断当前页是不是第一页。//验证是否存在记录if (BHi...原创 2018-01-12 11:37:33 · 23442 阅读 · 1 评论 -
javascript 中的事件Event (二) — 事件类型
前面介绍了,javascript中的事件流,事件处理程序以及事件对象Event包含的属性和方法。这篇开始介绍Event的类型,包括常用的UI事件,焦点事件以及鼠标事件等。一、UI事件 UI事件是页面级事件,包括的基本的事件有如下: 1. load : 当页面完全加载完后(包括图片,js文件,css文件等外部资源)触发window上面的load事件。 ...原创 2018-01-03 09:59:36 · 742 阅读 · 0 评论 -
javascript中的事件Event(一)— 事件流
一、Event基本信息1、事件流:描述的是从页面中接受事件的顺序 IE的事件流是事件冒泡流,Netscape的事件流是事件捕获流。2、事件冒泡 IE的事件流叫做事件冒泡(event bubbing),即事件开始时由具体的元素接受,然后逐级向上传播到较为不具体的节点。如果点击div。则事件流如下: div --> body --> html --...原创 2017-12-27 10:44:29 · 405 阅读 · 0 评论 -
jquery对象与DOm对象的相互转换
什么是jQuery对象? ---就是通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的,其可以使用jQuery里的方法。 比如: $("#test").html() 意思是指:获取ID为test的元素内的html代码。其中html()是jQuery里的方法 这段代码等同于用DOM实现代码: document.getEleme转载 2013-08-16 21:56:14 · 507 阅读 · 0 评论