前端常见算法的JS实现

2017-03-07
阅读 4 分钟
45.9k
原文链接 排序算法 1、冒泡排序 {代码...} 2、快速排序 {代码...} 3、二路归并 {代码...} 字符串操作 1、判断回文字符串 {代码...} 2、翻转字符串 思路一:反向遍历字符串 {代码...} 思路二:转化成array操作 {代码...} 3、生成指定长度随机字符串 {代码...} 4、统计字符串中次数最多字母 {代码...} 数组操作 1、数组去...

JavaScript 关于this的几道面试题及介绍

2017-03-06
阅读 5 分钟
7.4k
在绝大多数情况下,函数的调用方式决定了this的值。this不能在执行期间被赋值,在每次函数被调用时this的值也可能会不同。ES5引入了bind方法来设置函数的this值,而不用考虑函数如何被调用的。

JavaScript 字符串实用常操纪要

2017-03-06
阅读 6 分钟
1.8k
JavaScript 字符串用于存储和处理文本。因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Date 时,诸此等等,繁不能数;而她那蛮多的 API 呵,总有些让人不愿去记忆的冲动,既然用时常搜,倒不如烂笔头一番,以作了结,顺道也体现...

3个经常被问到的 JavaScript 面试题

2017-03-03
阅读 3 分钟
4.2k
原文链接 问题 #1: 事件委托 事件委托,也叫事件委派,事件代理。 当构建应用程序时,有时需要将事件监听器绑定到页面上的某些元素上,以便在用户与元素交互时执行某些操作。 假设我们现在有一个无序列表: {代码...} 我们需要在<li>上绑定点击事件,我们可能会这样操作: {代码...} 虽然这样可以实现功能,但问题...

JavaScript创建对象的5种模式

2017-03-02
阅读 3 分钟
2.2k
原文链接 面向对象的语言有一个标志,即拥有类的概念,抽象实例对象的公共属性与方法,基于类可以创建任意多个实例对象,一般具有封装、继承、多态的特性! 但JS中对象与纯面向对象语言中的对象是不同的,ECMA标准定义JS中对象:无序属性的集合,其属性可以包含基本值、对象或者函数。 可以简单理解为JS的对象是一组无序...

Javascript面向对象编程(三):非构造函数的继承

2017-03-02
阅读 2 分钟
1.8k
原文链接 一、什么是"非构造函数"的继承? 比如,现在有一个对象,叫做"中国人"。 {代码...} 还有一个对象,叫做"医生"。 {代码...} 请问怎样才能让"医生"去继承"中国人",也就是说,我怎样才能生成一个"中国医生"的对象? 这里要注意,这两个对象都是普通对象,不是构造函数,无法使用构造函数方法实现"继承"。 二、obj...

Javascript面向对象编程(二):构造函数的继承

2017-03-01
阅读 3 分钟
2.3k
原文链接 现在有一个"动物"对象的构造函数。 {代码...} 还有一个"猫"对象的构造函数。 {代码...} 怎样才能使"猫"继承"动物"呢? 一、 构造函数绑定 第一种方法也是最简单的方法,使用call或apply方法,将父对象的构造函数绑定在子对象上,即在子对象构造函数中加一行: {代码...} 二、 prototype模式 第二种方法更常见,...

Javascript 面向对象编程(一):封装

2017-03-01
阅读 3 分钟
2.9k
Javascript是一种基于对象(object-based)的语言,我们遇到的所有东西几乎都是对象。但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类)。

CSS五种方式实现Footer置底

2017-02-28
阅读 2 分钟
48.3k
[原文链接 - [链接] ) 页脚置底(Sticky footer)就是让网页的footer部分始终在浏览器窗口的底部。 当网页内容足够长以至超出浏览器可视高度时,页脚会随着内容被推到网页底部;但如果网页内容不够长,置底的页脚就会保持在浏览器窗口底部。 方法一:将内容部分的margin-bottom设为负数 {代码...} {代码...} 这个方法需...

延迟加载(Lazyload)三种实现方式

2017-02-28
阅读 3 分钟
7.2k
延迟加载也称为惰性加载,即在长网页中延迟加载图像。用户滚动到它们之前,视口外的图像不会加载。这与图像预加载相反,在长网页上使用延迟加载将使网页加载更快。在某些情况下,它还可以帮助减少服务器负载。

Jsonp及其实现原理

2017-02-25
阅读 2 分钟
4.4k
参考资料 一、先说说JSON 首先JSON是一种基于文本的数据交换方式,或者叫做数据描述格式。 JSON的优点: 基于纯文本,跨平台传递极其简单; Javascript原生支持,后台语言几乎全部支持; 轻量级数据格式,占用字符数量极少,特别适合互联网传递; 可读性较强,虽然比不上XML那么一目了然,但在合理的依次缩进之后还是很...

全方位解读this

2017-02-24
阅读 6 分钟
1.6k
在执行上下文的创建阶段,会分别生成变量对象,建立作用域链,以及确定this指向。其中this的指向,是在函数被调用的时候确定的。也就是执行上下文被创建时确定的。所以,同一个函数由于调用方式的不同,this指向了不一样的对象。

JavaScript异步加载的4种方式

2017-02-24
阅读 1 分钟
10.4k
原文链接 - http://www.cnblogs.com/huangcong/p/3747038.html 方案一、$(document).ready() 需要引入jquery 兼容所有浏览器 {代码...} 方案二、<script>标签的async="async"属性 async属性是HTML5新增属性,需要Chrome、FireFox、IE9+浏览器支持 async属性规定一旦脚本可用,则会异步执行 async属性仅适用于外部...

学习Javascript闭包(Closure)

2017-02-24
阅读 3 分钟
2.4k
要理解闭包,首先必须理解 Javascript 特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript 语言的特殊之处,就在于函数内部可以直接读取全局变量。

H5项目常见问题汇总及解决方案

2017-02-07
阅读 15 分钟
10k
说明:移动设备上的web网页是有300ms延迟的,往往会造成按钮点击延迟甚至是点击失效。 以下是历史原因,来源一个公司内一个同事的分享:2007年苹果发布首款iphone上IOS系统搭载的safari为了将适用于PC端上大屏幕的网页能比较好的展示在手机端上,使用了双击缩放(double tap to zoom)的方案,比如你在手机上用浏览器打开...

深入理解JavaScript原型和闭包

2017-01-25
阅读 10 分钟
4.1k
在以上代码中,undefined, number, string, boolean属于值类型,不是对象。而其他的几种类型 - 包括函数、数组、对象、null、new Number(10)都是对象,它们属于引用类型。