自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 php基本算法整理

1.常量是在一个脚本周期中不能被改变的数据,常量的声明一般放在文件的开头一般常量保存,版本号,路径,数学计算中的圆周率1)定义常量的两种方式a)Define()define('version',7.1);echo version;//7.1;b)Constconst PI = 3.14;echo PI;2)常量不允许重复定义,会报错不影响代码的执行。...

2018-11-27 23:17:10 407

原创 移动端1px模糊产生的原因以及解决方案

PPI是Pixels Per Inch缩写,pixels per inch所表示的是每英寸所拥有的像素(pixel)数目。手机屏幕的PPI当达到一定数值时,人眼就分辨不出颗粒感了。 “当你所拿的东西距离你10-12英寸(约25-30厘米)时,它的分辨率只要达到300ppi这个‘神奇数字’(每英寸300个像素点)以上,你的视网膜就无法分辨出像素点了。”——乔布斯4.3英寸、分辨率...

2018-11-27 23:16:37 11767

原创 表单验证以及获取手机验证码的小demo

// 需求:根据不同的响应结果,进行响应。 // (1) 如果接口调用成功 // 如果响应代码为100,倒计时 // 如果响应代码为101,提示手机号重复 // (2)如果接口调用失败,告诉用户"服务器繁忙,请稍候再试" function showTips(content) { $('.tips>p').text

2017-10-28 01:06:20 4359

原创 3.简单封装ajax

简单封装ajax步骤:1创建xhr对象2设置请求行3设置请求头4设置请求体5监听响应内容6获取相应内容参数提取: 参数名 参数类型 描述 传值 默认值 type string 请求方式 get/post 只要不传post,就是get url string 请求地址 接口地址 如果不传地址,不发送请求 async boolea

2017-10-27 00:30:51 762

原创 2.ajax数据交互xml和json

浏览器端只是负责用户的交互和数据的收集以及展示,真正的数据都是存储在服务器端的。我们现在通过ajax的确可以返回一些简单的数据(一个字符串), 但是在实际开发过程中,肯定会会设计大量的复杂类型的数据传输,比如数组、对象等,但是每个编程语言的语法都不一样。因此我们会采用通过的数据交换格式(XML、JSON)来进行数据的交互。XML:XML 指可扩展标记语言(EXten

2017-10-27 00:20:08 905

原创 1.ajax初步认识和运用

ajax:是一种异步的js和xml,js技术,并不是一个新的语言同步和异步:同步:事情一步步地去执行,前一件事没做完,后一件事不能做。异步:事件的执行,不会阻塞主线程代码的执行event loopjs有一个事件队列,event loop,js遇到异步事件,将异步事件扔到事件队列中,不会阻塞主线程的执行,主线程执行完成后,浏览器会不断轮巡事件队列,如果发现

2017-10-27 00:19:27 237

原创 正则表达式写法和细节

1、普通字符2、特殊意义的元字符:\d数字字符;\d [0-9]\D 非数字\w word 匹配的是单词字符 a-z A-Z 0-9 _\W 非单词字符\s 空字符(不可见) 空格 \t \n\S 匹配可见字符. 匹配任意字符 (除去\n)\. 匹配的点3.正则优先级|或,优先级最低;()分组,优先级最高;/(

2017-10-24 00:24:52 4940

原创 基本算法

1.常量是在一个脚本周期中不能被改变的数据,常量的声明一般放在文件的开头一般常量保存,版本号,路径,数学计算中的圆周率1)定义常量的两种方式a)Define()define('version',7.1);echo version;//7.1;b)Constconst PI = 3.14;echo PI; 2)常量不允许重复定义,会报错

2017-10-24 00:08:11 448

原创 PHP初识

PHP是一种服务器端语言,执行必须通过服务器模块的解析,是一门解释型语言中间运行不需要生成一些中间文件,而是直接用PHP模块来解析就可以了。Php的全称是‘hypertext Propressor’超文本预处理器底层用C开发, PHP的语法和c类似,目前市面上使用最多的是PHP5版本,P6直接被砍掉,最新版本php7.2(强大),php7向java语言靠拢。Php的好处:

2017-10-23 23:41:45 253

原创 四种获取下标的方法

四种获取下标的方法<button>按钮</button><button>按钮</button><button>按钮</button><button>按钮</button><button>按钮</button><button>按钮</button>想要获取当前按钮对应的下标 获取点击按钮:var btns = document.querySelectorAll("button");使用l

2017-10-23 23:39:22 35748

原创 递归函数

递归函数递归函数:函数内部直接或者间接的调用自己 + 自己调用自己(直接或者间接) + 要有结束条件(出口)斐波那契数列function fbnc(n) { if(n===1||n===2){ return=1; } return fbnc(n-1)+fbnc(n-2);}fbnc(5);有很大的内存缓存问题,其中有很多函数产生的作用域得不到释放,只能计

2017-10-23 23:37:47 238

原创 作用域和作用域链

全局作用域:全局的变量执行环境函数作用域:函数内部的变量执行环境每个函数都有自己的执行环境,当执行流进入一个函数时,函数的环境就会被推入一个环境栈中。函数执行之后,栈将环境弹出,把控制权返回给之前的执行环境。-全局作用域只要页面不卸载,就一直存在,不释放。-函数每次在调用时,都会形成一个作用域,当函数调用结束时,这个作用域就释放了传递参数,会传给函数的argum

2017-10-23 23:35:26 194

原创 预解析

js代码执行分为两个步骤:预解析(提升)代码一行一行执行预解析阶段:javascript解析器会把所有的变量声明和函数声明提升到当前作用域的最顶部。对于var a = 11;这么一条语句,其实会分为两部分:var a;和a =11;,其中var a;会被提升。提升规则:提升以作用域为单位。优先提升函数function,然后才提升变量var。

2017-10-23 23:33:51 355

原创 函数的原型链,原型链的完整版以及原型链的族谱

1.所有函数都是new Function创建出来的,因此所有函数.__proto__都是Function.prototype2.所有对象都是new Object创建出来的,因此所有对象.__proto__都是Object.prototypFunction.prototype成员arguments:获取函数的实参,被函数内部的arguments替代了。length:获

2017-10-23 23:24:43 877

原创 函数调用模式,this在函数中的指向

全局变量声明:var num === window.num ;函数的四种调用模式根据函数内部this的指向不同,可以将函数的调用模式分成4种1函数调用模式2方法调用模式3构造函数调用模式4上下文调用模式(借用方法模式)1)函数调用模式:function fn(){console.log(this);//指向window;}fn

2017-10-23 23:19:08 1163

原创 js变量和对象的索引

赋值变量值的时候,是不同的,如果从一个变量向另一个变量复制基本类型的值,会在变量对象上创建一个新值var num1 = 1;var num2 = num1;num1中存值1,当num1赋值给num2时,num2也存储了值1,然而num2中的1和num1中的1是完全独立的,这个1是num1中1的一个副本赋值对象引用类型的时候,会将存储在变量对象中的存储的内存地

2017-10-23 23:16:10 2915

原创 jsson在js中的转换

eval:将一段字符串当成代码来执行,与之前创造函数的方法相同;eval("alert(1+2)");//3可以让一个json转换成js对象json:一种通过的数据交换的格式 说白了 json就是一个字符串,只不过这个字符串有一定的规则。//var json = '{"name": "zs", "age": 18, "sex": "男"}';//如何把json字符串转换成js对

2017-10-13 01:42:34 1332

原创 定义函数的方式

定义函数的三种方式1函数声明function fn(){};fn();2函数表达式var fn1 = function(){}fn1();//函数声明里必须要有名字,而()只能出现表达式()转换成表达式//函数自调用:!function(){}();//常用,用运算符转成表达式3构造函数的方式Object:内置构造函数用来创建对象 Function:内置构造函数,用来创建函数var fn

2017-10-13 01:41:43 975

原创 对象的继承

混入继承让一个对象可以使用另一个对象的属性和方法就是继承var obj ={ name:"ls", extent:function(temp){ for(var k in temp){ if (temp.hasOwnProperty(k)){ this[k]=temp[k] }

2017-10-13 01:40:23 332

原创 面向对象编程-贪吃蛇小游戏

页面中的地图maphtml结构 <div id = "map"></div>样式 #map{ width:800px; height:600px margin:0 auto; background-color:#ccc; position:relative; }食物的对象Food 属性 宽度wi

2017-10-13 01:39:43 2430 2

原创 原型链

一。原型链:一个对象会有一个原型,(对象.__proto__),同时原型也是一个对象,也有原型p.__proto__===Person.prototype最终的Object.prototype.__prototype__=null;//Object Array String Date构造函数//Math是内置对象//1. var p = new Person();// p

2017-10-13 01:36:43 211

原创 构造函数的原型属性prototype

js规定,所有的函数自带一个属性,prototype,而且是一个对象(构造函数),通过构造函数实例化的对象可以直接通过原型的属性和方法访问什么意思呢,比如fn.prototype.name = "zs",所有通过实例化的对象,var cc = new fn();console.log(cc.name) = "zs";同理,可以存储行为函数所以之前的所有构造函数里的共

2017-10-13 01:35:15 1079

原创 对象改进(引入prototype)

function Phone(brand, color, size){this.brand = brand;this.color = color;this.size = size;this.call = function () {console.log("打电话");this.mail = function(){console.log("发短信")}}

2017-10-13 01:33:43 305

原创 面向对象编程

面向对象编程面向过程:注重过程,解决问题的思路,关注点在解决问题的这个过程面向对象:解决问题的思想,关注点在于指挥哪个对象,做哪件事情找一个对象,让对象执行面向对象的三大特性:封装,继承,[多态]封装//函数:封装代码;对象:把一些属性和函数封装到一个对象中继承//js的继承,拿来主义,一个对象没有这个属性或者方法,通过某些手段,能够直接用另一个对象的属性和方法[多态]

2017-10-08 01:16:38 696

原创 type,逻辑中断,==运算符,深复制

1.typeof返回的是字符串只能判断简单数据类型,若果是复杂数据类型只能都判断出object,(instanceof)typeof是一个关键字,不是函数,()的作用仅仅是提升优先级特殊两点:1)function是复杂数据类型但是返回的是funtion2)null的返回时object2.逻辑中断&&:找假值,从左往右依次判断,找到false结束||:

2017-10-08 01:15:52 289

原创 js基础(简单复习)

①.复习Js基础1.变量,用于存储数据声明以及赋值2.数据类型分为简单数据类型和复杂数据类型简单:number,string,boolean,undefined,null复杂:Object function Array Date 基本包装类型:Number,String,Boolean3.数据类型的转换转换成字符串类型,String()/toStri

2017-10-08 01:14:13 285

原创 正则表达式

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。正则表达式的特点是:1. 灵活

2017-10-07 00:12:28 205

原创 jq其他属性操作及jq事件机制

A.jQ其他属性操作1.val方法val方法用于设置和获取表单元素的值,例如input、select、textarea.//填参数设置值$("#name").val(''大触");//不填参数获取值$(“#name”).val();2.html方法//设置内容$(“div”).html(“这是一段内容”);3.text方法$(

2017-10-07 00:00:48 418

原创 jQuery操作DOM

一、jQuery操作样式二、jQuery操作属性三、jQuery动画简单操作四、jQuery操作dom节点增删操作一、jq操作样式1.css操作:功能:设置或者修改样式,操作style属性a.设置单个样式,css(name/属性名,value/属性值);$('#box').css(‘background’,'#000')b.设置多个样式,参数是对

2017-09-27 01:06:59 173

原创 DOM操作

一般来说,DOM操作分为3个方面,即DOM Core(核心)、HTML-DOM和CSS-DOM。1.DOM Coredom core 并不专属于JS,任何支持DOM的程序设计语言都可以使用它,它的用途并不仅限于处理网页,可以用来处理任何一种使用标记语言的编写的文档。document.getElementsByTagName("form");在JS中getElementB

2017-09-27 01:05:43 288

原创 js的栈堆概念

栈堆概念Js中没有栈堆概念,引入它为了方便理解和更好的学习:数据类型基本类型数据叫做值类型,复杂类型又叫做引用类型a.值类型,简单数据类型,在存储时,变量中存储的是值本身,因此叫做值类型。b.引用类型,复杂数据类型,在存储时,变量存储的仅仅是地址,用其引用,因此称为引用数据类型。栈堆空间分配概念1.栈由操作系统自动分配释放,存放函数的

2017-09-26 00:30:21 818

原创 Js中对象初认识

对象1.对象初识JavaScript的对象是一组由键-值组成的无序集合,例如:var person = {    name: 'zhangsan',    age: 20,    tags: ['js','web','mobile'],    city: 'Beijing',hit:null};JavaScript对象的键都是字符

2017-09-26 00:20:36 281

原创 js的null与undefined的设计初衷

null表示一个“空”的值,它和0以及空字符串''不同,0是一个数值,''表示长度为0的字符串,而null表示“空”。在其他语言中,也有类似JavaScript的null的表示,例如Java也用null,Swift用nil,Python用None表示。但是,在JavaScript中,还有一个和null类似的undefined,它表示“未定义”。JavaScript的设计者希望用null表示

2017-09-26 00:19:00 324

原创 jquery选择器

1.css选择器通用1)标签选择器,以文档元素作为选择器2)ID选择器,以ID标识符作为选择器;3)类选择器,class4)并集选择器,div,img,ul5)后代选择器,#id ul li6 )通配选择器 ,*{};7)子代选择器,ul>li;8)临近选择器,E+F;9)交集选择器,div.class;2.jquery选

2017-09-25 01:47:54 202

原创 jquery对象与dom对象

一、两者区别DOM对象通俗点讲就是document.get取出来的,js中getElementsByTagName获取元素节点得到的dom元素就是dom对象(dom树)Jquery对象用$()取出来的都是jq对象,通过jq包装DOM对象后产生的对象jq方法只能jq对象调用,是jq独有的,在jq对象中无法使用dom对象的任何方法。dom方法只能dom对象去调用;二、相互转

2017-09-25 01:46:20 615

原创 Jquery初识及用法

一、js的几个弊端:1、js的入口函数只能有一个,后面的会覆盖掉前面,而且是当页面上的所有的资源都加载完毕之后才执行J2、找对象麻烦,方式单一3、手动去写for循环4、原生js有兼容问题5、代码的容错率不高一旦报错,后面都不执行6、js实现动画比较麻烦,手动封装二、JQuery的优势1、轻量级。100k,压缩后十几k。2、强大的选择器。css

2017-09-25 01:43:54 244

原创 鼠标经过,产品图片的局部放大

原理:两张图片,大div包含两个图片的div,大图片隐藏找到对象var box = document.getElementById("box");//大的盒子模块var smallBox = document.getElementById("smallBox");//小图片var mask = document.getElementById("mask");//黄色高亮区域va

2017-09-24 01:13:30 2547

原创 简易鼠标移动

document.addEventListener("mousemove", function (e) {box.style.left = e.pageX-box.offsetWidth/2+"px";box.style.top = e.pageY-box.offsetHeight/2+"px";})我想将光标原点放在盒子的中间得到的e.pageX减去盒子宽度的一半-box

2017-09-24 01:09:49 230

原创 事件对象及常用属性

事件对象:触发某个事件,都会产生一个事件对象Event,document.onclick = function (e) {console.log(e);}//获取事件对象的兼容性代码//e = e || window.event;ie678没有当成参数传给函数,而是绑定在了属性window.eventMouseEvent鼠标事件事件对象的常用属性sc

2017-09-24 01:06:39 1122

原创 事件流及其三阶段

事件流1.事件的捕获阶段2.事件的目标阶段3.事件的冒泡阶段事件有三个阶段,首先发生的是捕获阶段,然后是目标阶段,最后才是冒泡阶段,对于捕获和冒泡,我们只能干预其中的一个,通常来说,我们可能会干预事件冒泡阶段,而不去干预事件捕获阶段。1、事件捕获事件捕获是火狐浏览器提出来的,IE678不支持事件捕获(基本上,我们都是用事件冒泡)事件的处理将从DOM层次的根开始,

2017-09-24 01:01:12 4653

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除