自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【JS】关于原型和原型链

原型与“类”什么是类?类可以说是一种设计模式,是一种组织代码结构的形式,用来对现实世界的问题进行建模。Javascript和面向类的语言不同,它没有类来作为对象的抽象模式。但是由于面向对象语言的流行,Javascript提供了一些近似类的语法,用来“模仿类”。什么是原型?Javascript中的函数在声明后,都会拥有一个名为prototype的属性,它会指向另一个对象,这个对象通常被称...

2020-02-14 18:53:17 186

原创 【JS】关于闭包

闭包的概念对于初学者来说很容易理解为“函数里面套函数”,当然这是闭包的典型表现形式,但是为什么要在函数里面套函数呢?要知道在其他语言像Java、C++中都不存在这种方式。究其原因,谈一谈我的想法,我们知道在ES6出现之前,js中的作用域包括全局作用域和函数作用域,不存在块作用域,当我们想在一个函数内封装一些变量,在其他地方又需要访问这些变量时,闭包就产生了。所以闭包存在的意义就是让我们可以间...

2020-02-12 21:05:00 232

原创 【JS】关于this

this到底是什么?首先纠正两个错误观点:this既不指向自身也不指向函数的词法作用域!this的绑定和函数声明的位置没有任何关系,只取决于函数的调用方式。也就是说this是在函数被调用时发生绑定的,它指向什么完全取决于函数在哪里被调用。当一个函数被调用时,会创建一个活动记录(执行上下文,包含函数在哪里被调用(调用栈)、函数调用方式、传入的参数等信息),this就是这个记录的一个属性,...

2020-02-12 15:29:19 197

原创 【设计模式】观察者模式

观察者模式(发布-订阅者模式)定义了一种一对多的关系,多个观察者对象同时监听一个主题对象,当主题对象的状态发生变化时就会通知各个监听的观察者,以做出各自响应。实现首先需要将观察者对象创建出来,包括一个消息容器(消息队列),订阅消息方法,取消订阅消息方法,以及发送消息的方法。基本机构如下:// 使用闭包,可以防止消息队列暴露被篡改var Observer = (functio...

2020-02-11 20:55:05 183 1

原创 【JS】数据类型

一、基本数据类型:number,boolean,string,null,undefined,symbol(ES6)typeof null; // "object",历史遗留的bug基本数据类型的值存储在栈内存,存储的是值。复杂数据类型(对象类型)的值存储在堆内存,地址存储在栈内存。当我们将一个变量复制给另一个变量时,复制的是地址,指向的是同一块内存,当其中一个对象改变时,另一个对象也...

2020-02-11 13:29:10 145

原创 同构应用小记

同构应用是指写一份代码但可同时运行在浏览器和服务器的应用。浏览器端渲染的缺点:搜索引擎无法收录我们的网页,因为展示的数据都是在浏览器端异步渲染出来的,大部分爬虫无法获取。 渲染过程的计算量大,存在性能问题,用户能明显感知首屏的渲染延迟。而服务器端渲染能解决SEO、减少首屏渲染问题。React、Vue、Angular等主流前端框架都支持同构。其中,React同构应用的运行原理的核...

2020-02-10 21:15:10 697

转载 【css】实现垂直水平居中的几种方法

1.用inline-block和vertical-align来实现居中:这种方法适合于未知宽度高度的情况下。<div id="container"> <div id="center-div"> xxx </div></div>...#container{ **text-align: center**; height: 400px;

2017-02-08 19:58:25 291

原创 【jQuery】DOM无关的jQuery实用函数

一、使用jQuery标志 1、禁用动画 $.fx.off——启用或者禁用特效,是一个可读写的标志,其余的预定义标志是只读的。 2、检测用户代理支持 浏览器检测和特征检测 jQuery浏览器功能标志 $.support浏览器功能标志: boxModel\cssFloat\hrefNormalized\htmlSerialize\leadingWhitespace\noCloneEvent

2017-02-06 20:28:30 241

原创 【jQuery】动画特效

一、显示和隐藏元素show()、hide()例:$(‘div.caption img’).click(function(){ var body$=$(this).closest(‘div.module’).find(‘div.body’); //找出相关的主体 if(body$.is(‘:hidden’)){ body$.show();}

2017-01-22 09:23:00 430

原创 【jQuery】事件处理

一、浏览器的事件模型 1、DOM第0级事件 事件处理器是通过将一个函数实例的引用赋值给DOM元素的属性来声明的。 例:$(#example)[0].onmouseover=function(event){say(‘crackle.’)}; 什么事event参数? (1)Event实例 在大部分浏览器中,当一个事件处理器被触发时,名为Event的类实例会作为第一个参数出入处理器中。IE除外

2017-01-20 11:22:25 471

原创 【jQuery】属性操作和内容操作

【属性操作】 一、获取元素属性$().attr(“属性名”)二、设置元素属性$().attr(“属性”,“属性值”)允许通过一条语句一次设置多个特性值 例:$(‘input’).attr({value:’’,title:’Please enter a value’});三、删除元素属性$().removeAttr(“属性”)【注】prop()方法和attr()方法语法相同,其中prop()用于获

2017-01-17 20:30:19 388 1

原创 【jQuery】管理包装集

1、确定包装集的大小 size()——返回包装集中元素的个数 例:$(#someDiv).html($(‘a’).size()+’links on this page.’); 2、从包装集中获取元素 (1)索引 []——数组下标,var imgElement=$(‘img[alt]’)[0]; get(index)——获取包装集中的一个或全部匹配元素。如果不指定参数,则整个集合以数组形式

2017-01-16 16:02:40 309

翻译 【jQuery】选择器

文档就绪处理程序: —在DOM树加载完毕之后立即触发脚本的执行$(function () { //这里是你的jQuery代码});或$(document).ready(function(){ //这里是你的jQuery代码});在jQuery中,基本选择器共有5种: • (1)元素选择器;$("元素名"),$("div").css("color","re

2017-01-14 21:29:35 261

翻译 【笔记】JS - RegExp对象

RegExp:正则表达式 用于存储检索模式var patt1=new RegExp("e");RegExp对象的方法: 1、test() —检索字符串中的指定值,返回true或falsedocument.write(patt1.test("The best things in life are free"));2、exec() —检索字符串

2017-01-12 15:59:18 232

转载 JS-添加和删除HTML元素

1、创建新的HTML元素<div id="div1"><p id="p1">这是一个段落</p><p id="p2">这是另一个段落</p></div><script><!--创建新的元素-->var para=document.createElement("p");<!--创建文本节点-->var node=document.createTextNode("这是新段落");par

2017-01-11 19:36:21 476

原创 表单验证

javascript——在数据被送往服务器前对HTML表单中的输入数据验证 被 JavaScript 验证的这些典型的表单数据有: 1、用户是否已填写表单中的必填项目?<html><head><script type="text/javascript">function validate_required(field,alerttxt){with(field){if(value==n

2017-01-11 10:48:34 342

翻译 JavaScript错误-Throw Try Catch

throw——创建自定义错误 try——测试代码块错误 catch——处理错误try{//运行需要测试的代码}catch(err){//对捕捉到的错误进行处理}例如:与throw连用function Myfunction(){try{var x=doucument.getElementById("").value;if(x=="") throw "empty";if(isNa

2017-01-11 09:37:12 275

原创 JavaScript - DOM

一、改变HTML 1.改变HTML输出流 能够创建动态的HTML内容 document.write(Date()); 提示:绝不要使用在文档加载之后使用 document.write()2.改变HTML内容 document.getElementById(id).innerHTML=new HTML 二、改变CSS doucument.getElementById(id).style.

2017-01-10 22:05:41 219

翻译 【笔记】HTML本地存储

通过本地存储(Local Storage),web 应用程序能够在用户浏览器中对数据进行本地的存储。 在 HTML5 之前,应用程序数据只能存储在 cookie 中,包括每个服务器请求。本地存储则更安全,并且可在不影响网站性能的前提下将大量数据存储于本地。 与 cookie 不同,存储限制要大得多(至少5MB),并且信息不会被传输到服务器。 本地存储经由起源地(origin)(经由域和协议)。

2017-01-07 16:32:37 398

翻译 overflow和text-overflow

1.overflow属性 规定当内容溢出元素框时发生的事情。 这个属性定义溢出元素内容区的内容会如何处理。如果值为 scroll,不论是否需要,用户代理都会提供一种滚动机制。因此,有可能即使元素框中可以放下所有内容也会出现滚动条。 默认值: visible 继承性: no 版本: CSS2 JavaScript 语法: object.style.over

2016-12-13 19:41:24 1670

空空如也

空空如也

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

TA关注的人

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