整体的 XSS 防范是非常复杂和繁琐的,不仅需要在全部需要转义的位置,对数据进行对应的转义。而且要防止多余和错误的转义,避免正常的用户输入出现乱码。
虽然很难通过技术手段完全避免 XSS,但可以总结以下原则减少漏洞的产生:
利用模板引擎开启模板引擎自带的 HTML 转义功能。例如:在 ejs 中,尽
正则表达式——语法
正则:就是用有限的符号,表达无限的序列。 两条斜线中间是正则主体,这部分可以有很多字符组成; i部分是修饰符,i的意思是忽略大小写。 eg: /^abc/i 简单字符: 没有特殊意义的字符都是简单字符,简单字符就代表自身,绝大部分字符都是简单字符。eg: /abc/
JavaScript核心对象
数组对象Array
字符串对象String
日期对象Date
数学对象Math
数组对象
数组对象是用来在单一的变量名中存储一系列的值。数组是在编程语言中经常使用的一种数据结构,可以用来存储一系列的值,在JavaScript中同一数组中可以存储不同数据类型的数据
前言
前段时间面试(包括阿里巴巴的电话面试),遇到过一些面试题,且面试中出现机率较高的提问/笔试,有些答的不是很好挂掉了,今天终于有时间整理出来分享给大家,希望对大家面试有所帮助,都能轻松拿offer。
主要分三部分:html、css、js;react/vue等都归类于js,内容来源于面试过
在项目中经常会需要将一些接口的配合文件或者某些样式文件,分离出来单独打包,便于后期改动,这里我以css文件为例,介绍实现两种方法:
项目目录:
如上图所示,现在我需要将项目中的scBtn.css文件单独打包出来。在不做任何配置,直接打包出来的css文件是压缩合并成了一个了,如下图,当我想要改某一个c
做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES5几个新增的数组方法,好用但是常忘记用,趁着这周比较清闲,重温下并做下笔记,养成记笔记的好习惯。
浏览器输入页面地址的时候在后面带有请求参数, 页面加载后需要获取携带的参数, 可以使用js, 在页面加载js的时候获取参数
http://localhost:8080/demo/index.html?id=1&name=2
$(function(){ var id= GetPar("i
1、判断当前浏览器类型
function isBrower(){
var ua = navigator.userAgent.toLowerCase();
var isMiscro = ua.indexOf("micromessenger")>-1;//微信浏览器
var i
采用的物理引擎是Phaser.js
官网地址:http://phaser.io/
在这里对此引擎不做过多介绍(因为我也是小白,嘿嘿)
效果展示:
源码(详细源码图片资源可点击文章下方或屏幕右上方的github链接进行clone)
1.创建
博客开篇,没想到第一篇博文竟然是前端的,虽略显尴尬,但正能量溢出,你我可能遇到同样问题,在这里分享下个人方案,希望对你有用。
官方目前不提供右键菜单,这里借助Dropdown(下拉菜单)来实现,故为“官方“。
既然Dropdown有类似功能,如果将其文字隐藏,并且在合适时机弹出,便可实现,其
/*js函数中with函数的用法分析定义 方便用来引用某个对象中已有的属性但是不能用来给对象添加属性 要给对象创建新的属性 必须明确的引用该对象*/代码格式with(object) statements object:新的默认对象 statements:一个或多个语句 oject是该语句的默认对象
NPM是Node.js的包管理工具,随着Node.js的出现,以及前端开发开始使用gulp、webpack、rollup以及其他各种优秀的编译打包工具(大多数采用Node.js来实现),大家都开始接触到一些Node.js,发现了使用NPM来管理一些第三方模块会很方便。
大家搬砖的模式也是从之前的去插
Node.js 服务端
使用 Node.js + Express.js 实现 服务端
const express = require("express");
const app = express();
const axios = require('axios');
app.set('port',
JavaScript ES6 数组新方法 学习随笔
新建数组
var arr = [1, 2, 2, 3, 4]
includes 方法
includes 查找数组有无该参数 有返回true
var includes = arr.includes(2)
map方法
map 遍历处理返回
定义
ECMAScript规范为所有函数都包含两个方法(这两个方法非继承而来), call 和 apply 。这两个函数都是在特定的作用域中调用函数,能改变函数的作用域,实际上是改变函数体内 this 的值 。
call 和 apply
语法定义说明call(thisObj,Object)
调用一个
周五看见React v16.7.0-alpha Hooks,今早起来看见圈里已经刷屏了Hooks,正好周末,正好IG和G2的比赛还没开始,研究下。。。
刚刚接触react时候非常喜欢用函数式组件,因为太简洁了写起来非常快,然后然后。。写到后面发现很多自己以前写的组件需要改。。为什么呢,因为自己当
在项目中会有这样的需求,echars生成图表导入到word中
在项目中用的插件
博主有一篇文章将的是 vue使用jquery的三方插件jquery.wordexport.js
https://blog.csdn.net/sinat_37984999/article/details/811648
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta na
前言
前端自动化构建工具从最开始的grunt, gulp, fis等到现在比较流行的webpack可谓层出不穷,个人还是比较倾向于gulp,虽然有的时候会因为某个插件的配置问题头疼很久,但不可否认gulp真的很灵活,而且个人觉得它和node结合起来比较舒服,再有对项目目录结构的要求比较低,即使再老再
前言
什么是gulp?gulp有什么用?为什么用gulp?
gulp是前端开发的一种构建工具。
构建工具可以帮助我们工程化地开发项目,比如搭建本地服务器、编译CSS预处理器、保存文件后自动刷新浏览器而不用我们手动去刷新、多个文件合并并压缩、压缩图片等。
gulp在多种构建工具中,算是简单的了,其他构