![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
web前端
文章平均质量分 52
luozc_web
这个作者很懒,什么都没留下…
展开
-
Javascript中的apply、call、bind
apply、call 在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文而存在的,换句话说,就是为了改变函数体内部 this 的指向。 JavaScript 的一大特点是,函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念。 function fruits() {}fruits.prototype = { col原创 2017-04-15 18:50:37 · 468 阅读 · 0 评论 -
CSS浏览器兼容性----Hack
CSS Hack大致有3种表现形式, CSS类内部Hack、 选择器Hack以及HTML头部引用(if IE)Hack, CSS Hack主要针对IE浏览器。 类内部Hack:比如 IE6能识别下划线”“和星号” * “,IE7能识别星号” * “,但不能识别下划线”“,而firefox两个都不能认识。等等 选择器Hack:比如 IE6能识别html .class{},IE7能识别+htm原创 2016-09-22 00:03:07 · 329 阅读 · 0 评论 -
(跨域问题《一》)HTML5中postMessage实现ajax中的post跨域
HTML5中提供了在网页文档之间相互接收与发送信息的功能。使用这个功能,只要获取到网页所在窗口对象的实例,不仅仅同源(域+端口号)的web网页之间可以互相通信,甚至可以实现跨域通信。 1. 首先,要想接收从其他的窗口发过来的消息,就必须对窗口对象的message事件进行监听,如下代码: window.addEventListener(“message”, function(){},false);原创 2016-09-18 17:31:12 · 359 阅读 · 0 评论 -
未知元素宽高水平垂直居中
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>未知宽度高度的水平垂直居中(4种)</title> <script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js" type="text/javascrip原创 2016-09-18 16:34:49 · 618 阅读 · 0 评论 -
css制作三角形
通常大家对css制作三角形的方法比较熟悉: <div id="circle"></div> //html代码//css代码 #circle{ width:100px; height:100px; border-radius: 50px; background:#000 ; }结果: 总结:在制做圆形之前,首先需要保证这个元素是正方形,即width==he原创 2016-07-31 21:49:48 · 1073 阅读 · 2 评论 -
jQuery对象和DOM对象
1、 通过JavaScript中 的getElementsByTagName获取元素节点得到的 DOM元素就是DOM对象。 jQuery对象就是通过jQuery包装DOM对象产生的对象。 2、jQuery对象和DOM对象的任何方法不能混用 例:获取id为foo元素内的html代码$('#foo').html()document.getEleme原创 2016-07-30 14:46:20 · 413 阅读 · 0 评论 -
javascript定时器及其优化
启动定时器method是调用的js方法time是时间间隔,毫秒数关闭定时器用这种方法去关闭定时器,往往不能及时关闭。setInterval会产生回调堆积,特别是时间较短的情况下解决方法如下:在JavaScript中还有另一种定时器,setTimeout(method,time),与setInterval的区别就在于这个定时器只会执行一次就终止。setInterv原创 2016-07-28 11:41:28 · 1590 阅读 · 0 评论 -
你不知道的CSS(边框塌陷)
在html和CSS的学习中,你可能会做很多精美的网页,但其中一些不常见的问题,或许初次遇到的你会很是棘手,下面就一些例子我做一些简单分析。 图片加上链接后,点击该图片默认会产生虚线边框: 解决方法:css样式中设置outline:none;即可。 边框塌陷问题: body,div原创 2016-04-13 23:00:17 · 6502 阅读 · 1 评论 -
二叉树-输出树中从根到每个叶子节点的路径
void AllPath(Bitree T, Stack &S)//输出二叉树上从根到所有叶子结点的路径{ if(T) { Push(S,T->data); if(!T->Left&&!T->Right)//如果左指针和右指针同时为空,才说明该节点为叶子节点 PrintStack(S); else { AllPath(T->Left,S)原创 2017-04-16 13:17:23 · 2849 阅读 · 1 评论 -
js当中对象属性的存储
对象的内容是由一些存储在特定命名位置的(任意类型的)值组成的,我们称之为属性但是需要强调的一点是,当我们说“内容”时,,似乎在暗示这些值实际上被存储在对象内部,但是这只是它的表现形式。在引擎内部,这些值的存储方式是多种多样的,一般并不会存在对象的容器内部。存储对象容器内部的是这些属性的名称,他们就像指针一样,指向这些真正的存储位置var Person = { name:luozc, age:原创 2017-04-16 13:50:32 · 5388 阅读 · 0 评论 -
js获取css属性中的值
function getStyle(obj,attr){ if(obj.currentStyle){ //IE return obj.currentStyle[attr]; } else{ //FireFox return getComputedStyle(obj,false)[attr]; //false是一个虚元素原创 2017-04-16 14:23:57 · 1656 阅读 · 0 评论 -
js数组方法总结
方法名 参数及用法 返回值 是否修改原数组 push 向数组的末尾添加一个或更多元素 返回新的长度 是 pop 删除数组的最后一个元素 返回数组的最后一个元素 是 shift 删除数组的第一个元素 返回数组的第一个元素 是 unshift 向数组的开头添加一个或更多元素 返回新的长度 是 reverse 颠倒数组中元素原创 2017-04-16 16:24:47 · 382 阅读 · 0 评论 -
js Array
数组的创建: var arr=new Array(3); //创建一个包含3项的数组,每一个初始值是undefine var arr=new Array(“abc”,”123”); var arr=Array(3); //也可以省略new操作符 var arr=[ ]; 数组最多可以容纳(2^32)-1个项数组元素的增添和删除 push() //可接收任意数量参原创 2016-09-20 23:57:12 · 77 阅读 · 0 评论 -
js实现二分查找
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。function binary_search(arr,key){ var low=0; var high=arr.length-1; while(low<=high){ var mid=parseInt((low+high)/2); if(arr[mid]==key)原创 2017-04-16 22:23:51 · 367 阅读 · 0 评论 -
DOM的高级应用-------关于Ul中的 li 的排序
1、排序 • 移动Li • 元素排序:转换——排序——插入 //父节点.appendChild()的实现,会把这个元素节点从ul里面删除,然后在加入。2、排序的实现代码<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>DOM中的UL的排原创 2017-05-20 18:32:38 · 782 阅读 · 2 评论 -
Lazyman
实现一个LazyMan,可以按照以下方式调用: LazyMan(“Hank”)输出: Hi! This is Hank!LazyMan(“Hank”).sleep(10).eat(“dinner”)输出 Hi! This is Hank! //等待10秒.. Wake up after 10 Eat dinner~LazyMan(“Hank”).eat(“dinner”).eat(“su转载 2017-05-22 09:17:43 · 497 阅读 · 0 评论 -
console对象
console对象是JavaScript的原生对象,它有点像Unix系统的标准输出stdout和标准错误stderr,可以输出各种信息到控制台,并且还提供了很多额外的有用方法 它的常见用途有两个:1.调试程序,显示网页代码运行时的错误信息。 2.提供了一个命令行接口,用来与网页代码互动。 console对象提供的各种方法,用来与控制台窗口互动。 log(),info(),debug()原创 2016-09-24 22:04:28 · 327 阅读 · 0 评论 -
JS面向对象(一)
“面向对象编程”的第一步,就是要生成“对象”。前面说过,“对象”是单个实物的抽象。通常需要一个模板,表示某一类实物的共同特征,然后“对象”根据这个模板生成。JavaScript语言的对象体系,不是基于“类”的,而是基于构造函数和原型链 JavaScript语言使用构造函数作为对象的模板。所谓“构造函数”,就是专门用来生成“对象”的函数。它提供模板,描述对象的基本结构。一个构造函数,可以生成多个对象原创 2016-09-26 21:47:40 · 258 阅读 · 0 评论 -
Ubuntu-server搭建lamp环境
1.更新软件源sudo apt-get update2.安装Apachesudo apt-get install apache23.查看Apache是否安装成功apache2 –v如下所示,表示搭建成功 4 通过浏览器访问服务器的IP,如果出现Apache欢迎界面,表示安装成功,如下所示: 5.安装PHP5sudo apt-get install php56.查看PHP5的版本php5 –v原创 2016-09-29 17:36:25 · 252 阅读 · 0 评论 -
函数柯里化
含义:柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。 因此柯里化的过程是逐步传参,逐步缩小函数的适用范围,逐步求解的过程。柯里化一个求和函数var add = function (a, b, c) { return a+b+c;};var addCurrying= functio原创 2017-04-15 17:28:07 · 932 阅读 · 0 评论 -
cookies,sessionStorage,localStorage的区别
(1)存储方式不同 cookie数据始终在同源的http请求中携带(即使不需要),而sessionStorage和localStorage不会自动把数据发给服务器仅保存在本地(2)存储大小限制 cookie数据不可超过4K,而它两的可以达到5M或更大(3)数据有效期不同 sessionStorage仅在当前浏览器窗口关闭前有效,localStorage始终有效,cookie只在设置原创 2017-03-13 17:29:47 · 291 阅读 · 0 评论 -
css3弹性盒模型(Flexbox)
这几天又看了一遍css3的弹性盒模型,这是一个可以让你告别浮动、完美实现垂直水平居中的新特性。Flexbox是布局模块,而不是一个简单的属性,它包含父元素和子元素的属性。Flexbox布局的主体思想是似的元素可以改变大小以适应可用空间,当可用空间变大,Flex元素将伸展大小以填充可用空间,当Flex元素超出可用空间时将自动缩小。总之,Flex元素是可以让你的布局根据浏览器的大小变化进行自动伸缩。创建原创 2017-03-11 10:58:41 · 393 阅读 · 0 评论 -
JavaScript之删除数组中重复元素的方法
1.将数组逐个搬到另一个数组中,当遇到重复元素时,不移动,若元素不重复则移动到新数组中function unique(arr){ var len = arr.length; var result = [] for(var i=0;i<len;i++){ var flag = true; for(var j原创 2017-03-09 14:06:15 · 452 阅读 · 0 评论 -
url中search字符串解析为json对象
var url = "http://www.taobao.com/index.php?key0=0&key1=1"; var obj = parseQueryString(url); function parseQueryString(argu){ var str = argu.split('?')[1]; var原创 2017-03-09 13:48:42 · 877 阅读 · 0 评论 -
BFC 神奇背后的原理
一、BFC是什么? 在解释 BFC 是什么之前,需要先介绍 Box、Formatting Context的概念。 Box: CSS布局的基本单位 Box 是 CSS 布局的对象和基本单位, 直观点来说,就是一个页面是由很多个 Box 组成的。元素的类型和 display 属性,决定了这个 Box 的类型。 不同类型的 Box, 会参与不同的 Formatting Context(一个决定如何渲转载 2017-03-07 17:35:52 · 299 阅读 · 0 评论 -
web攻防之SQL注入、XSS、CSRF
1.SQL注入 SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。 攻击者通过在应用程序预先定义好的SQL语句结尾加上额外的SQL语句元素,欺骗数据库服务器执行非授权的查询,篡改命令。 它能够轻易的绕过防火墙直接访问数据库,甚至能够获得数据库所在的服务器的系统权限。在Web应用漏洞中,SQL Injection 漏洞的风险要高原创 2017-03-05 11:42:40 · 372 阅读 · 0 评论 -
js中的事件委托
原理:事件委托,从名字上就能理解,就是自己的事情交给别人去做(将事件委托给别人) 实现方法:onclick,onmouseover,onmouseout等就是事件。委托,就是让别人来做。利用冒泡的原理,把事件加到父级上,触发执行效果。假设我们有一个父元素div,里面有很多子元素,但我们关心的是里面的一个带有”classA” CSS类的A标记:// 获得父元素DIV, 添加监听器...docume原创 2016-12-13 21:02:33 · 368 阅读 · 0 评论 -
圣杯布局(双飞翼布局)
圣杯布局是讨论「三栏液态布局」的实现,它最早出自于谁或许不得而查了。所谓液态布局是相对固态布局而言的,固态布局就是固定值不变的布局,液态就好比在容器里到了一杯水,它可以随着容器宽度的变化而自适应宽度。(说白了,就是三栏布局,两边固定,中间自适应)<div id="header">#header</div><div id="container"> <div id="center" class="c原创 2016-12-13 19:20:12 · 311 阅读 · 0 评论 -
js字符串反转
(1)我们都知道数组有一个成员函数reverse()可用来将数组成员进行反转,那么我们可不可以将一个字符串转换为数组,然后对其进行reverse()操作呢?答案当然是可以的。话不多说,见代码:function revStr(str){ return str.split("") //将字符串转换为字符数组 .reverse() //将数组中的字进行倒转 .join("")原创 2016-12-12 17:54:19 · 834 阅读 · 0 评论 -
substr和substring的用法和区别
substr 和 substring都是JS 截取字符串函数,两者用法很相近,下面是两者的语法很示例:substr 方法 返回一个从指定位置开始的指定长度的子字符串。 stringvar.substr(start [, length ])参数 stringvar 必选项。要提取子字符串的字符串文字或 String 对象。 start 必选项。所需的子字符串的起始位置。字符串中的第一个字符原创 2016-12-12 17:23:29 · 1294 阅读 · 0 评论 -
鼠标点击li元素,弹出各自索引值
这篇博客我主要是把鼠标点击li元素,弹出各自索引值的几种方法进行总结。问题:如下代码所示有好多li元素。实现的效果是当鼠标点击某个li元素时弹出自己的索引值(当然这里不是弹出它的innerHTML,这是凑巧索引值和它的innerHTML相等) <ul id="ul1"> <li>0</li> <li>1</li> <li>2</li>原创 2016-11-19 16:12:55 · 3453 阅读 · 2 评论 -
prototype和__proto__
一、prototype和__proto__的概念prototype是函数的一个属性(每个函数都有一个prototype属性),这个属性是一个指针,指向一个对象。它是显示修改对象的原型的属性。__proto__是一个对象拥有的内置属性(注意:prototype是函数的内置属性,__proto__是对象的内置属性),是JS内部使用寻找原型链的属性。用chrome和FF都可以访问到对象的proto属性,I原创 2016-11-16 15:55:53 · 316 阅读 · 0 评论 -
(跨域问题《二》jsonp)
Jsonp(JSON with Padding) 是 json 的一种”使用模式”,可以让网页从别的域名(网站)那获取资料,即跨域读取数据。 客户端代码:<!DOCTYPE html><html><head><meta charset="utf-8"><title>JSONP 实例</title></head><body> <div id="divCustomers"></di原创 2016-11-16 14:31:26 · 247 阅读 · 0 评论 -
Cookie知识总结
主要用途:目前Cookies 最广泛的是记录用户登录信息,这样下次访问时可以不需要输入自己的用户名、密码了——当然这种方便也存在用户信息泄密的问题,尤其在多个用户共用一台电脑时很容易出现这样的问题。生存周期:Cookie可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了(当然,不排除用户手工删除Cookie)。而还有一些Cookie在用原创 2016-11-07 22:27:45 · 367 阅读 · 0 评论 -
require.js shim 配置
require.config的参数配置原因:理论上,require.js加载的模块,必须是按照AMD规范、用define()函数定义的模块。但是实际上,虽然已经有一部分流行的函数库(比如jQuery)符合AMD规范,更多的库并不符合。那么,require.js是否能够加载非规范的模块呢?回答是可以的。这样的模块在用require()加载之前,要先用require.config()方法,定义它们的一些原创 2017-07-16 18:01:45 · 703 阅读 · 0 评论