JavaScript学习笔记
fengyinchao
这个作者很懒,什么都没留下…
展开
-
JavaScript之正则表达式
1. 正则表达式规则1.1 普通字符 字母、数字、汉字、下划线、以及后边章节中没有特殊定义的标点符号,都是"普通字符"。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。 举例1:表达式 "c",在匹配字符串 "abcde" 时,匹配结果是:成功;匹配到的内容是:"c";匹配到的位置是:开始于2,结束于3。(注:下标从0开始还是从1开始,因当前编程转载 2015-06-23 16:00:56 · 548 阅读 · 1 评论 -
详解js中的object对象
Object是在javascript中一个被我们经常使用的类型,而且JS中的所有对象都是继承自Object对象的。虽说我们平时只是简单地使用了Object对象来存储数据,并没有使用到太多其他功能,但是Object对象其实包含了很多很有用的属性和方法,尤其是ES5增加的方法,因此,本文将从最基本的介绍开始,详细说明了Object的常用方法和应用。基础介绍创建对象首先我们都知道转载 2016-03-03 22:36:08 · 8887 阅读 · 1 评论 -
jQuery全屏滚动插件fullPage.js
简介如今我们经常能见到全屏网站,尤其是国外网站。这些网站用几幅很大的图片或色块做背景,再添加一些简单的内容,显得格外的高端大气上档次。比如 iPhone 5C 的介绍页面(查看),QQ浏览器的官网站。如果你也希望你的网站能设计成全屏的,显得更上档次,你可以试试 fullPage.js。fullPage.js 是一个基于 jQuery 的插件,它能够很方便、很轻松的制作出全屏网站转载 2016-02-21 16:01:59 · 400 阅读 · 0 评论 -
一道常被人轻视的前端JS面试题
一道常被人轻视的前端JS面试题目录前言第一问第二问变量声明提升函数表达式第三问第四问第五问第六问构造函数的返回值第七问最后前言年前刚刚离职了,分享下我曾经出转载 2016-02-21 23:30:48 · 3892 阅读 · 3 评论 -
js获取页面及个元素高度、宽度
网页可见区域宽: document.body.clientWidth; 网页可见区域高: document.body.clientHeight; 网页可见区域宽: document.body.offsetWidth(包括边线和滚动条的宽); 网页可见区域高: document.body.offsetHeight(包括边线的宽); 网页正文全文宽: document.body.scr转载 2016-02-26 12:26:17 · 1148 阅读 · 0 评论 -
JS函数节流
函数节流的原理函数节流的原理挺简单,那就是定时器。当我触发一个事件时,先setTimout让这个事件延迟一会再执行,如果在这个时间间隔内又触发了事件,那我们就clear掉原来的定时器,再setTimeout一个新的定时器延迟一会执行,就这样。代码实现明白了原理,那就可以在代码里用上了,但每次都要手动去新建清除定时器毕竟麻烦,于是需要封装。在《JavaScript原创 2016-02-26 14:11:36 · 4286 阅读 · 3 评论 -
JS闭包小结
1 什么是闭包简言之,闭包就是外部函数中包含另一个内部函数,这个内部函数就是一个闭包2 闭包的优点、缺点优点:可以让一个变量常驻内存 (如果用的多了就成了缺点)避免全局变量的污染私有化变量缺点因为闭包会携带包含它的函数的作用域,因此会比其他函数占用更多的内存引起内存泄露3 如何释放被闭包的变量内存举个列子如下:window.onload原创 2016-02-28 15:14:02 · 475 阅读 · 0 评论 -
JS根据userAgent值来判断浏览器的类型及版本
JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本。JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另 一种是通过分析浏览器的userAgent属性来判断的。本文对浏览器各自的userAgent特点做一分析,并给出判断方法:Windows操作系统浏览器系列:IE浏览器系列:特转载 2016-03-25 09:13:59 · 1000 阅读 · 0 评论 -
Babel使用方式积累
1 安装babel(可全局安装,也可本地安装) npm install babel-cli2 使用原创 2016-05-14 14:35:08 · 369 阅读 · 0 评论 -
JavaScript基于时间的动画算法
目录前言基于帧的动画算法(Frame-based)基于时间的动画算法(Time-based)改良基于时间的动画算法总结前言前段时间无聊或有聊地做了几个移动端的HTML5游戏。放在不同的移动端平台上进行测试后有了诡异的发现,有些手机的动画会“快”一点,有些手机的动画会“慢”一点,有些慢得还不是一两点。通过查找资料发现,基于帧的算法(Frame-based)来实现动画会转载 2016-08-31 12:50:06 · 2212 阅读 · 0 评论 -
深度剖析:如何实现一个 Virtual DOM 算法
转载自:戴嘉华目录:1 前言2 对前端应用状态管理思考3 Virtual DOM 算法4 算法实现4.1 步骤一:用JS对象模拟DOM树4.2 步骤二:比较两棵虚拟DOM树的差异4.3 步骤三:把差异应用到真正的DOM树上5 结语6 References1 前言本文会在教你怎么用 300~400 行代码实现一个基本的 Virtual DOM 算法转载 2016-08-31 16:48:41 · 1141 阅读 · 0 评论 -
JS原型题集
本文收集JS原型相关问题,会不断跟新!1、题目如下:var fun = function(){}fun.prototype = { name : 'peter', age : 25 }var a = new fun();var b = new fun();console.log(a.name, b.name);//peter peter原创 2016-07-27 09:46:23 · 1951 阅读 · 0 评论 -
JS版十大排序算法
转载自:谭继臻排序算法说明(1)排序的定义:对一序列对象根据某个关键字进行排序;输入:n个数:a1,a2,a3,…,an输出:n个数的排列:a1’,a2’,a3’,…,an’,使得a1’再讲的形象点就是排排坐,调座位,高的站在后面,矮的站在前面咯。(3)对于评述算法优劣术语的说明稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不转载 2016-09-26 10:01:57 · 10144 阅读 · 0 评论 -
谈谈JS中的函数劫持
说到劫持,第一反应可能是什么不好的东西。函数劫持并不邪恶,关键是看使用的人。虽然这个概念在前端领域使用较少,但是在安全领域、自定义业务等场景下还是有一定的使用价值的。所以,这一篇文章将会和大家一起去了解一下JS中的函数劫持是什么,有什么用。基本概念 函数劫持,顾名思义,即在一个函数运行之前把它劫持下来,添加我们想要的功能。当这个函数实际运行的时候,它已经不是原本的函数了,而是带上了被我们添加上去转载 2016-09-29 14:05:27 · 937 阅读 · 0 评论 -
Excuse me?这个前端面试在搞事!
金三银四搞事季,前端这个近年的热门领域,搞事气氛特别强烈,我朋友小伟最近就在疯狂面试,遇到了许多有趣的面试官,有趣的面试题,我来帮这个搞事 boy 转述一下。以下是我一个朋友的故事,真的不是我。for (var i = 0; i 5; i++) { console.log(i);}“小伟,你说说这几行代码会输出什么?”当面试官在 Sublime 打出这转载 2017-03-07 21:30:55 · 740 阅读 · 0 评论 -
JQuery插件uriAnchor
《单页Web应用 JavaScript从前端到后端》的第三章提到了这个JQuery插件,但是书上提到的信息很少,所以我去github查看了该项目,学习后,发现好像有一些坑,特意来记录一下.urianchor主页$.uriAnchor.setAnchor()方法使用一个映射来修改anchor的值有三个参数:1. anchor_map: 这个映射会被编码到URL中2. opti转载 2016-02-07 15:37:18 · 2298 阅读 · 0 评论 -
jQuery deffered和promise对象方法
一、前言为了让前端们从回调的地狱中回到天堂,jQuery也引入了Promise的概念。Promise是一种令代码异步行为更加优雅的抽象,有了它,我们就可以像写同步代码一样去写异步代码。jQuery从1.5版本开始实现了CommonJSPromise/A规范这一重量级方案,不过没有严格按照规范进行实现,有一些API上的差异。好,让我们来看看他们的特性吧(本文示例基于jQuery 1.转载 2015-12-21 16:36:30 · 1676 阅读 · 0 评论 -
JavaScript之AJAX实现二级联动菜单(jsp+js+servlet+xml)
本文实现了AJAX的二级联动菜单,并给出了详细的实现步骤原创 2015-06-25 21:13:29 · 2613 阅读 · 0 评论 -
JavaScript之AJAX基础
本文简要介绍了AJAX的基础,主要是对XHR对象和JSON的使用作了说明原创 2015-06-25 19:32:09 · 987 阅读 · 0 评论 -
JavaScript之变量类型判断
在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null, Boolean, Number和String;复杂数据类型是Object,Object中还细分了很多具体的类型,比如:Array, Function, Date等等。今天我们就来探讨一下,使用什么方法判断一个出一个变量的类型。在讲解各种方法之前,我们首先定义出几个测试变量,看看转载 2015-07-13 15:35:10 · 418 阅读 · 0 评论 -
JavaScript之this用法详解
Javascript的this用法this是Javascript语言的一个关键字。它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如, function test(){ this.x = 1; }随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。下面分四种情况,详细讨论this转载 2015-07-07 19:01:24 · 382 阅读 · 0 评论 -
jQuery UI 使用指南
开始之前,请下载好两个文件jquery-ui-1.11.4.custom和jquery-ui-themes-1.11.41、引入正确的CSS库文件和JS文件,如引入文件夹jquery-ui-1.11.4.custom下的jquery-ui.css和jquery-ui.js文件,此外还要引入jQuery的核心文件jquery.js。(注意要先引入jQuery库文件,再引入jQuery原创 2015-07-14 15:10:32 · 1676 阅读 · 0 评论 -
基于JavaScript分析property 和 attribute
property 和 attribute非常容易混淆,两个单词的中文翻译也都非常相近(property:属性,attribute:特性),但实际上,二者是不同的东西,属于不同的范畴。property是DOM中的属性,是JavaScript里的对象;attribute是HTML标签上的特性,它的值只能够是字符串;基于JavaScript分析property 和 attribute转载 2015-08-25 11:54:56 · 430 阅读 · 0 评论 -
JS异步编程
谈谈异步编程 目前需求中涉及到大量的异步操作,实际的页面越来越倾向于单页面应用。以后可以会使用backbone、angular、knockout等框架,但是关于异步编程的问题是首先需要面对的问题。随着node的兴起,异步编程成为一个非常热的话题。经过一段时间的学习和实践,对异步编程的一些细节进行总结。1.异步编程的分类 解决异步问题方法大致包括:直接回调、pub/s转载 2015-09-09 11:51:53 · 1104 阅读 · 0 评论 -
javascript常用数组算法总结
javascript常用数组算法总结 不管是在面试中还是在笔试中,我们都会被经常问到关于javascript数组的一些算法,比方说数组去重、数组求交集、数组扰乱等等。今天抽点时间把javascript中的一些常用的数组算法做一下总结,以方便大家面试笔试或者日常开发过程中用到。其中部分算法来自网络,这里做了下汇总整理。文章末尾我会把参考的来源附上去,如果直接看算法比较枯燥的可以到参考文献里原创 2015-10-04 18:16:50 · 408 阅读 · 0 评论 -
js模块化历程
js模块化历程这是一篇关于js模块化历程的长长的流水账,记录js模块化思想的诞生与变迁,展望ES6模块化标准的未来。经历过这段历史的人或许会感到沧桑,没经历过的人也应该知道这段历史。 无模块时代在ajax还未提出之前,js还只是一种“玩具语言”,由Brendan Eich花了不到十天时间发明,用来在网页上进行表单校验、实现简单的动画效果等等,你可以回想一下那个网转载 2015-10-20 12:32:35 · 1066 阅读 · 0 评论 -
理解 JavaScript 中的 Function.prototype.bind
函数绑定(Function binding)很有可能是你在开始使用JavaScript时最少关注的一点,但是当你意识到你需要一个解决方案来解决如何在另一个函数中保持this上下文的时候,你真正需要的其实就是 Function.prototype.bind(),只是你有可能仍然没有意识到这点。第一次遇到这个问题的时候,你可能倾向于将this设置到一个变量上,这样你可以在改变了上下文之后继续引转载 2015-10-13 09:35:09 · 735 阅读 · 0 评论 -
10段代码打通js学习的任督二脉
前言为了node.js做准备,js的基本功还是很重要的。所以正值1024程序员节的时候所以找了些题目,整理了一下知识点。这篇文章感觉代码太多,难免枯燥,所以文章最后留了个 彩蛋给读者。简单回调代码function foo(){ console.log(this.a);}function doFoo(fn){ fn();}function转载 2015-11-12 10:44:14 · 494 阅读 · 0 评论 -
一段预先加载但按需执行的JS代码
浏览器对于JS的解析方式是:加载完立马执行。以下是一种hack手段,能实现只加载但不马上执行本质上利用了缓存的方法。转载 2015-10-29 15:45:32 · 2000 阅读 · 0 评论 -
Javascript操作DOM常用API总结
文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认识。基本概念在讲解操作DOM的api之前,首先我们来复习一下一些基本概念,这些概念是掌握api的关键,必须理解它们。Node类型DOM1级定义了一个Node接口,该接口由DOM中所有节点类型实现。这个Node接口在转载 2015-12-17 14:06:08 · 464 阅读 · 0 评论 -
你应该知道的25道Javascript面试题
你应该知道的25道Javascript面试题题目来自 25 Essential JavaScript Interview Questions。闲来无事,正好切一下。一What is a potential pitfall with using typeof bar === "object" to determine if bar is an object? How ca转载 2016-01-04 15:52:32 · 563 阅读 · 0 评论 -
Ajax知识体系大梳理
这是一篇万字长文, 系统梳理了ajax相关的知识体系, 几乎囊括了所有ajax的知识点.原文: http://louiszhai.github.io/2016/11/02/ajax/导读Ajax 全称 Asynchronous JavaScript and XML, 即异步JS与XML. 它最早在IE5中被使用, 然后由Mozilla, Apple, Google推广开来. 典转载 2017-03-16 17:17:28 · 2021 阅读 · 0 评论