STYLE
.page_nav{height:20px;font-size:13px !important;color:#797979;text-align: center !important;}
.page_nav ul li{
font-weight:bold;
float:left;
margin:0px 2px;
list-style: none;
font-size:13px;
height:24px;
min-width:20px;
line-height: 24px;
padding: 0px 2px !important;
border:1px s
铁路图(railroad diagram)规则: 1.从左边界开始沿着轨道去到右边界。2.沿途,你将在圆框中遇到的是字面量,在方块中遇到的是规则或者描述。3.任何沿着轨道能走通的序列都是合法的。4.任何不能沿着轨道走通的序列都是非法的。5.每个末端只有一个竖条的铁路图允许在任何一对标记中间插入空白。而在末端有两个竖条的铁路图是不允许的。语法图(Syntax diagrams )又叫铁路图(railroad diagrams)是描述形式文法的一种方式。它是巴科斯范式或扩展巴科斯范式的图形化表示。最早使用语法图的书包括Niklaus Wirth写的“Pascal User Manual”(语法
npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准。有了npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。1、npm install moduleNames:安装Node模块安装完毕后会产生一个node_modules目录,其目录下就是安装的各个node模块。npm install koa
默认会安装 koa 的最新版本,也可以通过在后面加版本号的方式安装指定版本,如npm install koa@2.0
将包安装到全局环境中npm install -g
但是代码中,直接通过require()的方式是没有办法调用全局安装的包的。
问题: div class='item' id='outer' onclick="alert('outer')"
div class='item' id='inner' onclick="alert('inner');"
div class='item' id='core' onclick="alert('core')"
co
用vuejs脚手架vue-cli创建的项目,如果要引入外部文件(第三方插件)的时候,要在webpack的配置文件中设置externals:webpack.base.conf.js的设置externals中‘swiper‘是键,对应的值一定的是插件swiper.js所定义的变量Swiper:之后再在根目录下的index.html文件里引入文件: script src="static/lib/swiper.js" /script ,注意:外部文件放在src里是不能被index.html所访问到的,故我放到根目录下得static文件夹里。这样子就可以在需要用到swiper.
SELECT
user_id, group_id, COUNT(status) - SUM(status) AS contract
FROM tp_contract
GROUP BY user_id
HAVING
group_id = 18 AND
COUNT(status) - SUM(status) 0
LIMIT 0,10select name as name1 from table1 where name1='aaa';上面的运行有问题, 字段别名不能直接在谓词部分引用,表别名可以。有人解释为MySql中列的别名本来是返
使用workbench,如果你要批量更新或删除数据,一般会报“Error Code: 1175 You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column”错误,这是Workbench的安全设置导致的,通过设置就可以处理。快速设置,直接在workbench里面的查询窗口输入“SET SQL_SAFE_UPDATES = 0;”就可以了。如果你想要图形界面设置,请继续。在workbench的菜单栏点击“edit-- Preferences”,然后会弹出对
Oren Eini(又名Ayende Rahien)建议开发者尽量避免数据库的软删除操作,读者可能因此认为硬删除是合理的选择。作为对Ayende文章的回应,Udi Dahan强烈建议完全避免数据删除。所谓软删除主张在表中增加一个IsDeleted列以保持数据完整。如果某一行设置了IsDeleted标志列,那么这一行就被认为是已删除的。Ayende觉得这种方法“简单、容易理解、容易实现、容易沟通”,但“往往是错的”。问题在于: 删除一行或一个实体几乎总不是简单的事件。它不仅影响模型中的数据,还会影响模型的外观。所以我们才要有外键去确保不会出现“订单行”没有对应的父“订单”的
GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookmark,而POST不可以。GET请求会被浏览器主动cache,而POST不会,除非手动设置。GET请求只能进行url编码,而POST支持多种编码方式。GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。GET请求在URL中传送的参数是有长度限制的,而POST么有。对参数的数据类型,GET只接受ASCII字符,而POST没有限制。GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。GET参数通过URL传递,POST放在Request body中
方法一:正则分析法 function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}调用方法: alert(GetQueryString("参数名1"
这是因为删除操作后在数据文件中留下碎片所致。DELETE只是将数据标识位删除,并没有整理数据文件,当插入新数据后,会再次使用这些被置为删除标识的记录空间。另外实际操作过程中还发现这个问题还存在两种情况。(1)当DELETE后面跟条件的时候,则就会出现这个问题。如:delete from table_name where 条件删除数据后,数据表占用的空间大小不会变。(2)不跟条件直接delete的时候。如:delete from table_name清除了数据,同时数据表的空间也会变为0。这就存在了一个问题,在网站的实际运行过程中。经常会存在这样的附带条件删除数据的操作行为。天长日久,这不就在数
作者:phodal链接:https://zhuanlan.zhihu.com/p/20548041来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。Web本身就是跨平台的,这意味着这中间存在着无限的可能性。我是一名Web Developer,对于我来能用Web开发的事情就用Web来完成就好了——不需要编译,不需要等它编译完。我想到哪我就可以写到哪,我改到哪我就可以发生哪发生了变化。最近我在写Growth——一个帮助开发人员成长的应用,在近一个月的业余时间里,完成了这个应用的:移动应用版:Android、Windows Phone、iOS(等账号和上线)Web版桌面版
今天在做前台页面的时候,应用了两个网上找到的JS效果,其中一个效果不起作用,FF下也没有报错,运用排除法发现是window.onload = function(){...}重复造成冲突,Google了一下,遇到这个问题的人还不少,通过查找资料和自己的实践验证,提供思路如下:比如在一个页面中有两个JavaScript 分别都用到了window.onload一个是:window.onload=function(a){...},另一个是:window.onload=function(b){...}这样就造成了一个JavaScript 运行不了(一般是前一个)。写成这样就可以了window.onloa
下面的代码使用了两种方式删除数组的元素,第一种定义一个单独的函数,第二种为Array对象定义了一个removeByValue的方法,调用非常简单定义函数removeByValue进行元素删除function removeByValue(arr, val) {
for(var i=0; i arr.length; i++) {
if(arr[i] == val) {
arr.splice(i, 1);
break;
}
}
}
var somearray = ["mon", "tue"
JavaScript的Array可以包含任意数据类型,并通过索引来访问每个元素。要取得Array的长度,直接访问length属性:var arr = [1, 2, 3.14, 'Hello', null, true];
arr.length; // 6请注意,直接给Array的length赋一个新的值会导致Array大小的变化:var arr = [1, 2, 3];
arr.length; // 3
arr.length = 6;
arr; // arr变为[1, 2, 3, undefined, undefined, undefined]
arr.le
要计算1+2+3,我们可以直接写表达式:1 + 2 + 3; // 6要计算1+2+3+...+10,勉强也能写出来。但是,要计算1+2+3+...+10000,直接写表达式就不可能了。为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。JavaScript的循环有两种,一种是for循环,通过初始条件、结束条件和递增条件来循环执行语句块:var x = 0;
var i;
for (i=1; i =10000; i++) {
x = x + i;
}
x; // 50005000让我们来分析一下for循环的控制条件:i=1 这是初始条件,将变量i置为1;i =
@Font-face目前浏览器的兼容性:Webkit/Safari(3.2+) TrueType/OpenType TT (.ttf) 、OpenType PS (.otf);Opera (10+) TrueType/OpenType TT (.ttf) 、 OpenType PS (.otf) 、 SVG (.svg);Internet Explorer 自ie4开始,支持EOT格式的字体文件;ie9支持WOFF;Firefox(3.5+) TrueType/OpenType TT (.ttf)、 OpenType PS (.otf)、 WOFF (since Firefox 3.6)Goo
宋体 SimSun黑体 SimHei微软雅黑 Microsoft YaHei微软正黑体 Microsoft JhengHei新宋体 NSimSun新细明体 PMingLiU细明体 MingLiU标楷体 DFKai-SB仿宋 FangSong楷体 KaiTi仿宋_GB2312 FangSong_GB2312楷体_GB2312 KaiTi_GB2312宋体:SimSuncss中中文字体(font-family)的英文名称Mac OS的一些:华文细黑:STHeiti Light [STXihei]华文黑体:STHeiti华文楷体:STKaiti华文宋体:STSong华文仿宋:STFangsong儷黑
方法一: div id="ttt" style="height: 100px; border: 1px solid #c0c0c0;" onmousedown="testdown();" onmouseup="testup()" test /div
script type="text/javascript"
var timer;
function testdown() {
timer = setTimeout(function(){
结论:对于数字、字符串等是将它们的值传递给了函数参数,函数参数的改变不会影响函数外部的变量。对于数组和对象等是将对象(数组)的变量的值传递给了函数参数,这个变量保存的指向对象(数组)的地址。当函数改变这个地址指向的对象(数组)的内容时,同时也改变了函数外部变量指向的对象(数组)的内容;当函数改变的是变量的地址时,实际就与函数外部的变量失去了联系,变成了完全不同的对象了,不会对函数外部对象造成改变。很多人认为 JS 中参数有两种传递方式:数字、字符串等按值传递;数组、对象等按地址(引用)传递。其实都是一种值传递。下面的例子很好的说明了这一点。var v1 = []
var v2 = {};
所有标签