var

正则表达式匹配IP地址

我怕爱的太早我们不能终老 提交于 2020-04-01 03:14:58
项目框架把JavaScript脚本存入数据库,展示页面的时候从数据库读取字段拼接页面。正则表达式取出来[\]都变成了双反斜杠【\\】, A写法改成B写法后问题解决。因为数据库是把整个js脚本当成字符串存储的,这种时候,正则表达式不能写成A的方式,要改成B就可以了。 A:pattern = /^(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])){3}$/g; B:pattern =new RegExp('^(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])){3}$'); <html> <head></head> <body onload='test();'> <script> function test2(){ var ipstr='1.1.1.1'; var array=[]; array.push(ipstr); var pattern =new RegExp('^(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])){3}$'); /

02 数据类型&运算符

江枫思渺然 提交于 2020-04-01 03:10:29
基本数据类型 和python一样,js的变量命名也是弱类型,也就是说根据变量值来定义变量类型。 运算符值得注意的点是,===,这个指类型和值都相等。 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta http-equiv="X-U-Compatible" content="IE-edge"> 6 <meta name="viewport" content="width=device-width,initial-scale=1"> 7 <title>数据类型转换&运算符</title> 8 </head> 9 <body> 10 <!--数据类型转换--> 11 <script type="text/javascript"> 12 // number 转换成 string 13 var n = 100,s = 'str'; 14 var newParam = n + s ; // 隐式转换 15 console.log(typeof newParam); // string 16 var n2 = String(n); // 强制转换 String() 方法 17 var n3 = n.toString(); // 强制转换 toString() 方法 18 console

DNS及编译安装MariaDB

与世无争的帅哥 提交于 2020-04-01 02:25:10
1、简述DNS服务器原理,并搭建主-辅服务器。 DNS(domain name server),域名解析服务器。dns域结构:是一颗倒树状结构,分为根域、一级域、二级域...127级域。每一级的域名服务器管理自己的子域。 dns工作原理,以访问www.baidu.com为例: 1) 首先浏览器会查看本地dns,也就是系统的host文件,可以解析的话就返回对应的ip,否则就会查询本地缓存 2) 如果本地缓存不起作用,就把请求发送给网络提供商的dns服务器(例如电信dns服务器),可以解析的话就返回对应的ip或者查询缓存 3) 如果电信dns服务器无法解析,它会把www.baidu.com解析请求发送给根dns服务器。根dns服务器只管理顶级域名,它会返回.com域dns服务器的ip给电信dns服务器 4) 电信dns服务器就会向.com域dns服务器发送www.baidu.com解析请求,它解析不了,但是会返回.baidu.com域的dns服务器ip给电信dns服务器 5) 电信dns服务器就会向.baidu.com域dns服务器发送www.baidu.com解析请求,此dns查询自己的数据库发现有www.baidu.com这个主机的记录,然后把对应的ip返回给电信dns服务器 6)然后电信dns服务器会缓存查询结果,接着把查询结果返回给客户端,客户端就使用ip访问www.baidu

前端笔试题

六月ゝ 毕业季﹏ 提交于 2020-04-01 02:07:42
2018年9月14日的一次笔试题。 JS部分: 1,typeof []; // "object" 2,[].constructor == Object; // false [].constructor == Array ; // true 3,请实现“<a id = "qqlink" href = "http://www.qq.com">qq</a>”用户点击qq时不允许浏览器跳转到qq.com。 答:event.preventDefault(); 4, var x = 10; var foo = { x: 20, bar: function() { var x = 30; return this.x; } }; console.log( foo.bar() ); //20 console.log( (foo.bar)() ); //20 console.log( (foo.bar = foo.bar)() ); //10 console.log( (foo.bar, foo.bar)() ); //10 console.log( foo.bar.call(window)); //10 console.log( foo.bar.call(foo) ); //20 5,请实现函数substring(beginIndex, endIndex)

jenkins学习4-进docker容器安装python3环境

廉价感情. 提交于 2020-04-01 01:42:03
前言 使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。 遇到问题 构建的时候输入pip3,提示:pip3: not found 构建job后控制台输出内容 Started by user admin Running as SYSTEM Building in workspace /var/jenkins_home/workspace/yoyoketang [yoyoketang] $ /bin/sh -xe /tmp/jenkins2225854290036644814.sh + pwd /var/jenkins_home/workspace/yoyoketang + pip3 /tmp/jenkins2225854290036644814.sh: 3: /tmp/jenkins2225854290036644814.sh: pip3: not found Build step 'Execute shell' marked build as failure Finished: FAILURE pip3: not found,说明jenkins容器内部并没有python3的环境 进jenkins容器 进docker容器, 加上-u root

js分时函数

我是研究僧i 提交于 2020-04-01 01:16:57
qq中有10000个好友,每秒中渲染20个好友: var timeChunk = function(arr, fn, count) { var t; var start = function() { for(var i = 0; i < Math.min(count || 1, arr.length); i++) { var obj = arr.shift(); fn(obj) } } return function() { t = setInterval(function() { if(arr.length == 0) { return clearInterval(t) } start(); }, 1200) } } var arr = []; for(var i = 0; i < 1000; i++) { arr.push(i) } var renderList = timeChunk(arr, function(n) { var div = document.createElement('div'); div.innerHTML = n; document.body.appendChild(div); }, 8) renderList() 来源: https://www.cnblogs.com/qiyc/p/11310893.html

Javascript 严格模式详解

一世执手 提交于 2020-03-31 23:38:53
一、概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式: "严格模式" (strict mode)。顾名思义,这种模式使得Javascript在更严格的条件下运行。 设立"严格模式"的目的,主要有以下几个:   - 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;   - 消除代码运行的一些不安全之处,保证代码运行的安全;   - 提高编译器效率,增加运行速度;   - 为未来新版本的Javascript做好铺垫。 "严格模式"体现了Javascript更合理、更安全、更严谨的发展方向,包括IE 10在内的主流浏览器,都已经 支持 它,许多大项目已经开始全面拥抱它。 另一方面,同样的代码,在"严格模式"中,可能会有不一样的运行结果;一些在"正常模式"下可以运行的语句,在"严格模式"下将不能运行。掌握这些内容,有助于更细致深入地理解Javascript,让你变成一个更好的程序员。 本文将对"严格模式"做详细介绍。 二、进入标志 进入"严格模式"的标志,是下面这行语句:   "use strict"; 老版本的浏览器会把它当作一行普通字符串,加以忽略。 三、如何调用 "严格模式"有两种调用方法,适用于不同的场合。 3.1 针对整个脚本文件 将"use strict"放在脚本文件的第一行,则整个脚本都将以"严格模式"运行。如果这行语句不在第一行

JavaScript解析机制之变量提升

﹥>﹥吖頭↗ 提交于 2020-03-31 18:53:26
1、什么是预解析? 在当前作用域下,JS 运行之前,会把带有 var 和 function 关键字的事先声明,并在内存中安排好。(这个过程也可以理解为变量提升)然后再从上到下执行 JS 语句(预解析只会发生在通过 var 定义的变量和 function 上) 2、var 声明的变量 使用 var 声明的变量预解析:告诉解析器知道有这个名字的存在并默认将该变量赋值 undefined ,如下: console.log(x); //undefined var x = 5; 变量 x 虽然是在 console.log 后面定义的,但使用 var 申明的 x 会提前保存在内存中,并赋值 undefined ,然后再从上往下执行 JS 语句 。它的执行顺序类似于下面的结构: var x; console.log(x); //undefined x = 5; 先声明了 x,x 没有定义所以赋值为 undefined ,输出的结果自然为 undefined,然后再给 x 赋值为 5 需注意的是,如果变量声明没有使用 var,则不存在变量提升。如下: console.log(x); //error: x is not defined x = 5; x 没有使用 var 声明,所以报错找不到 x 3、functin 声明的函数 使用 function 声明函数的预解析:先告诉解析器这个函数名的存在

jquery实现头部固定导航效果

风格不统一 提交于 2020-03-31 13:15:35
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> body {margin:0;padding:0;} .nav {width:100%;height:50px;position:fixed;top:0;left:0;background-color:#333;text-align:center;line-height:50px;} .nav a {margin:0 10px;color:#ddd;text-decoration:none;font-size:16px;} .nav .cur {font-weight:bold;color:#f90;} </style> </head> <body> <div class="nav"> <a class="cur" href="#a1">恩恩恩</a> <a href="#a2">嘿嘿嘿</a> <a href="#a3">哈哈哈</a> <a href="#a4">啊啊啊</a> </div> <div id="a1" class="section" style="height:800px;background:#f60;"></div> <div id="a2" class="section"

linux locate命令

心不动则不痛 提交于 2020-03-31 06:10:35
1、命令简介 locate (locate) 命令用来查找文件或目录。 locate命令要比find -name快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/mlocate/mlocate.db 。这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。整个locate工作其实是由四部分组成的: /usr/bin/updatedb 主要用来更新数据库,通过crontab自动完成的 /usr/bin/locate 查询文件位置 /etc/updatedb.conf updatedb的配置文件 /var/lib/mlocate/mlocate.db 存放文件信息的文件 2、用法 locate [OPTION]... [PATTERN]... 3、选项 -b, --basename match only the base name of path names -c, --count 只输出找到的数量 -d, --database DBPATH 使用DBPATH指定的数据库,而不是默认数据库