Javascript
文章平均质量分 83
普通网友
这个作者很懒,什么都没留下…
展开
-
六种排序算法的JavaScript实现以及总结
最近几天在系统的复习排序算法,之前都没有系统性的学习过,也没有留下过什么笔记,所以很快就忘了,这次好好地学习一下。首先说明为了减少限制,以下代码通通运行于Node V8引擎而非浏览器,源码在我的GitHub,感兴趣的话可以下载来然后运行试试。为了方便对比各个排序算法的性能,这里先写了一个生成大规模数组的方法——generateArray:exports.generateArray =...转载 2018-12-22 15:29:57 · 160 阅读 · 0 评论 -
jquery each,grap遍历方法
1. $.each(array, [callback]) 遍历[常用]解释: 不同于例遍jQuery对象的$().each()方法,此方法可用于例遍任何对象。回调函数拥有两个参数: 第一个为对象的成员或数组的索引, 第二个为对应变量或内容. 2. $.grep(array, callback, [invert])过滤数组[常用]解释: 使用过滤函数过滤数组元素.此函数至少传递...转载 2017-12-08 10:22:49 · 334 阅读 · 0 评论 -
jquery删除数组中重复元素$.inArray(s)
首先定义如下数组:var arr=[0,2,3,5,6,9,2];我们可以看到数组中存在重复元素'2';最后通过jquery筛选应该得到[0,2,3,5,6,9];ok,首先我们再定义一个空数组,用来存放最后筛选出来的元素:var new_arr=[];利用jquery的$.inArray可以轻松实现:遍历数组元素: for(var i=0;i<arr....转载 2017-12-08 10:14:23 · 527 阅读 · 0 评论 -
Math.min.apply数组中取最大和最小
大爷,请赏我点铜板买喵粮自己吃,您的支持将鼓励我继续创作!(支付宝)转载 2017-12-08 10:11:46 · 440 阅读 · 0 评论 -
JS面向对象
工厂模式function createObject(name,age){var obj = new Object() //创建对象obj.name = name ; //添加属性obj.age = age;obj.run = function(){ //添加方法 return this...转载 2017-12-15 09:15:31 · 136 阅读 · 0 评论 -
JavaScript window、location对象基础知识整理
一、window对象转载http://blog.csdn.net/hongchh/article/details/52238610window是BOM的核心对象,表示浏览器的一个实例。在浏览器中,window对象有双重角色,它是通过JS访问浏览器窗口的一个接口,也是Global对象。任何在全局作用域中声明的变量和函数都会变成window对象的属性和方法。虽然全局变量也是window对象...转载 2017-12-15 09:15:17 · 423 阅读 · 0 评论 -
js判断浏览器的内核和是否支持某些CSS3属性
一、判断浏览器内核在前端开发过程中,有时我们需要判断浏览器的内核前缀,对不同的浏览器做出不同的处理,因此我们可以这么做。 alert(element.style.webkitTransition); 这个是获取以webkit为前缀的transition值。但如果不是webkit为前缀的浏览器,则会返回undefined。而我们可以将所有的内核前缀给枚举出来,然后获取其某个CSS的值,即可做...转载 2017-12-15 09:09:41 · 246 阅读 · 0 评论 -
JS实现继承的几种方式
前言JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么如何在JS中实现继承呢?让我们拭目以待。JS继承的实现方式既然要实现继承,那么首先我们得有一个父类,代码如下:// 定义一个动物类function Animal (name) { // 属性 this.name = name || 'Animal'; // 实例方法 this.sleep = f...转载 2017-12-15 09:09:15 · 223 阅读 · 0 评论 -
JavaScript 异步方案 async/await
构建一个应用程序总是会面对异步调用,不论是在 Web 前端界面,还是 Node.js 服务端都是如此,JavaScript 里面处理异步调用一直是非常恶心的一件事情。以前只能通过回调函数,后来渐渐又演化出来很多方案,最后 Promise 以简单、易用、兼容性好取胜,但是仍然有非常多的问题。其实 JavaScript 一直想在语言层面彻底解决这个问题,在 ES6 中就已经支持原生的 Promise,...转载 2017-12-15 09:08:56 · 212 阅读 · 0 评论 -
ES7 await/async
await/async 是 ES7 最重要特性之一,它是目前为止 JS 最佳的异步解决方案了。虽然没有在 ES2016 中录入,但很快就到来,目前已经在 ES-Next Stage 4 阶段。https://segmentfault.com/a/1190000007116715直接上例子,比如我们需要按顺序获取:产品数据=>用户数据=>评论数据老朋友 Ajax传统的写法...转载 2017-12-15 09:08:29 · 192 阅读 · 0 评论 -
深入理解 JavaScript 异步系列(5)—— async await
第一部分,ES7 中引入 async-await原文地址 http://www.cnblogs.com/wangfupeng1988/p/6532734.html 未经作者允许,不得转载~前面介绍完了Generator的异步处理,可以说是跌跌撞撞,经过各种基础介绍和封装,好容易出了一个比较简洁的异步处理方案,学习成本非常高————这显然不是我们想要的!因此,还未发布的 ES7 就干脆自...转载 2017-12-14 11:03:08 · 263 阅读 · 0 评论 -
JSONP - 从理论到实践,跨域详解
同源策略ajax之所以需要“跨域”,罪魁祸首就是浏览器的同源策略。即,一个页面的ajax只能获取这个页面相同源或者相同域的数据。如何叫“同源”或者“同域”呢?——协议、域名、端口号都必须相同。例如:http://google.com 和 https://google.com 不同,因为协议不同; http://localhost:8080 和 http://localhost:100...转载 2017-12-18 09:35:31 · 209 阅读 · 0 评论 -
深入浅出JSONP--解决ajax跨域问题、JavaScript跨域
上周客户新买了服务器,原本在旧的服务器上放着客户的Web主页信息和一个后台程序(asp.net),在客户的主页中有一个动态显示最新消息的处理,这个处理就是通过ajax异步从那个后台程序中取得的。由于又购买了新的服务器,客户想把web主页和那个后台程序分开来,后台程序被部署到了新的服务器上。不过这个项目是我的同事小福同志开发的,也就由他来把程序分开部署,然后进行一些小改动。 "怎么最新消息取不...转载 2017-12-18 09:35:53 · 382 阅读 · 0 评论 -
jsonp跨域百度、跨域问题
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style type="text/css">转载 2017-12-18 09:36:12 · 200 阅读 · 0 评论 -
javascript中基础但是很容易忽略的点
引言: 本篇文章主要总结了一些javascript中特别基础的内容,主要涉及到DOM0级和DOM2级事件,事件流, 事件委托, 判断变量的类型每次被问到,总是能想起一点,但是也总记不全,所以遇到这种情况的时候,就简单的记录一下.DOM0级事件和DOM2级事件的区别DOM0事件在标签内写onclick事件 在js中写onclick=function(){}函数 ...转载 2017-12-19 09:30:32 · 201 阅读 · 0 评论 -
移动前端开发需要注意的20个要点
定心丸:移动前端开发正逐渐步入前端技术的主流,事实上跟在一般的pc上,并不需要你掌握额外的技术,然而你在pc web上那一套在多数情况下并不适用于手机web,你必须知道这其中的注意点。当然移动web给人的感觉是一个拼h5和css3的阵地,这里面有足够高大上的技术等着你去驾驭,在这方面,你可以欣喜地说:让ie见鬼去吧。1、首先我们来看看webkit内核中的一些私有的meta标签,这些meta标签...转载 2017-12-19 09:29:10 · 309 阅读 · 0 评论 -
JS如何判断一个对象为空
1、最常见的思路,for…in…遍历属性,为真则为“非空数组”;否则为“空数组”var judgeObj = function(obj){ for(var item in obj){ return true; } return false;}1 2 3 4 5 62.通过JSON自带的.stringify方法来判断var jud...转载 2017-12-19 09:28:51 · 260 阅读 · 0 评论 -
javascript 之模块化篇
什么是模块化?https://segmentfault.com/a/1190000011063732模块化就是把系统分离成独立功能的方法,这样我们需要什么功能,就加载什么功能。优点:可维护性:根据定义,每个模块都是独立的,良好设计的模块会尽量与外部的代码撇清关系,以便于独立对其进行改进和维护。可复用性:可以重复利用,而不用经常复制自己之前写过的代码原始JS开发问题1、污染全...转载 2017-12-19 09:28:36 · 224 阅读 · 0 评论 -
js点击下载跳转iOS或安卓
原文链接:http://caibaojian.com/android-ios-downapp.html 在移动wap上,最常见的就是引流用户下载安装自己的应用程序,如何通过js点击判断下载是ios还是安卓呢?其实很简单,就是要判断用户的设备是iOS还是Android,然后分别跳转就可以了。 之前写过的一个代码:判断iOS或安卓·<script type="text/ja...转载 2017-12-19 09:28:26 · 1094 阅读 · 0 评论 -
JavaScript的隐式类型转换浅析
http://blog.csdn.net/sweetllh/article/details/74075142参考博文:http://www.codeceo.com/article/javascript-type-convert.html http://www.jianshu.com/p/0f1e3ff14537JavaScript的数据类型分为六种,分别为null,undefined,b...转载 2017-12-18 09:38:21 · 213 阅读 · 0 评论 -
js强制类型转换
转载http://blog.csdn.net/sweetllh/article/details/74075353 转换函数、强制类型转换、利用js变量弱类型转换。1. 转换函数:js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not...转载 2017-12-18 09:37:46 · 1201 阅读 · 0 评论 -
谈谈JS中常遇到的浏览器兼容问题和解决方法
http://www.cnblogs.com/duenyang/p/6066737.html今天整理了一下浏览器对JS的兼容问题,希望能给你们带来帮助,我没想到的地方请留言给我,我再加上;常遇到的关于浏览器的宽高问题://以下均可console.log()实验 var winW=document.body.clientWidth||document.docuemntEle...转载 2017-12-18 09:37:20 · 230 阅读 · 0 评论 -
JavaScript技巧45招
在这篇文章里,我将分享一些JavaScript的技巧、秘诀和最佳实践,除了少数几个外,不管是浏览器的JavaScript引擎,还是服务器端JavaScript解释器,均适用。1、首次为变量赋值时务必使用var关键字变量没有声明而直接赋值得话,默认会作为一个新的全局变量,要尽量避免使用全局变量。2、使用===取代====和!=操作符会在需要的情况下自动转换数据类型。但===和!==不会...转载 2017-12-18 09:36:47 · 146 阅读 · 0 评论 -
浅谈JavaScript--声明提升,JavaScript常见错误
JavaScript是一种动态语言,不同于C、Java等静态语言先编译后执行,所以代码中的执行顺序并不像你看到的那样执行,有个词你需要知道声明提升,下面我们就来聊聊声明提升。抛砖 1 2 3 a = 1; var a; console.log(a); // 1 结果是1,不是...转载 2017-12-18 09:36:28 · 169 阅读 · 0 评论 -
深入理解 JavaScript 异步系列(4)—— Generator
第一部分,ES6 中的 Generator原文地址 http://www.cnblogs.com/wangfupeng1988/p/6532713.html 未经作者允许不得转载~在 ES6 出现之前,基本都是各式各样类似Promise的解决方案来处理异步操作的代码逻辑,但是 ES6 的Generator却给异步操作又提供了新的思路,马上就有人给出了如何用Generator来更加优雅的处理...转载 2017-12-14 11:02:41 · 281 阅读 · 0 评论 -
深入理解 JavaScript 异步系列(3)—— ES6 中的 Promise
第一部分,Promise 加入 ES6 标准原文地址 http://www.cnblogs.com/wangfupeng1988/p/6515855.html 未经作者允许不得转载!从 jquery v1.5 发布经过若干时间之后,Promise 终于出现在了 ES6 的标准中,而当下 ES6 也正在被大规模使用。本节展示的代码参考这里本节内容概述写一段传统的异步操作 用Pr...转载 2017-12-14 11:02:15 · 371 阅读 · 0 评论 -
编写高质量 JavaScript -- 知识点小记
一: 团队合作避免JS冲突脚本中的变量随时存在冲突的风险,1. 解决办法---用匿名函数将脚本包起来,让变量的作用域控制在匿名函数之内如: <script type="text/javascript"> (function(){ var a=123,b="12121"; })();</script&g...转载 2017-12-12 15:39:52 · 179 阅读 · 0 评论 -
JavaScript之闭包、定时器
谈谈闭包对于JavaScript而言,虽然没有块作用域的概念,但是有函数作用域的概念,若是想从全局环境下去访问一个函数内的局部变量,是办不到的;但是根据JavaScript中的链式作用域的概念,它是可以访问外面的全局变量的,所以,针对一个被定义在函数内的函数,它的父函数中的所有变量也是能够被它访问到的。 什么是闭包 闭包(Closure)是让内部函数能够访问外部函数中的变量。 一个最...转载 2017-12-12 15:25:35 · 223 阅读 · 0 评论 -
iscroll.js listloading.js是一个移动端的上拉、下拉加载更多的组件
https://github.com/gtdalp/listloading 解决新版浏览器(Android 7.0)导致iscroll无法滚动 https://github.com/gtdalp/listloading/commit/c358e3e067d192d0926cca42bb940903298ea0aclistloading是一个移动端的上拉、下拉加载更多的组件。主要依...转载 2017-12-12 15:22:18 · 618 阅读 · 0 评论 -
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
http://www.jb51.net/article/60502.htmECMAScript5标准发布于2009年12月3日,它带来了一些新的,改善现有的Array数组操作的方法。然而,这些新奇的数组方法并没有真正流行起来的,因为当时市场上缺乏支持ES5的浏览器。Array "Extras"没有人怀疑这些方法的实用性,但写polyfill(PS:兼容旧版浏览器的插件)对他们...转载 2017-12-12 14:25:16 · 738 阅读 · 0 评论 -
JavaScript易错知识点整理
本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一些ES6的知识点。JavaScript知识点1.变量作用域var a = 1;function test() { var a = 2; console.log(a); //...转载 2017-12-12 14:16:43 · 194 阅读 · 0 评论 -
JS字符串的一些常用方法
//【String类型】 //1.返回给定位置的那个字符 var stringValue = "hello world"; alert(stringValue.charAt(1)); //"e" //如果你想得到是不是字符而是字符编码 var stringValue = "hello world"...转载 2017-12-08 17:02:47 · 179 阅读 · 0 评论 -
JS中给数组对象排序
//JS中给数组对象排序 //假设有一个对象数组,我们想要根据某个对象属性对数组进行排序。而传递给数组sort()方法的比较函数要接收2个参数,即要比较的值。 //可是,我们需要一种方式指明按照哪个属性来排序。 //要解决这个问题,可以定义一个函数,它接收一个属性名,然后根据这个属性名来创建一个比较函数。 function c...转载 2017-12-08 16:58:53 · 283 阅读 · 0 评论 -
javascript 实现MD5,加密
1、引入md5.JS[html] view plain copy <script src="scripts/md5.js" type="text/javascript"></script> 2、md5.JS 内容如下[html] view plain copy * * A JavaScript implementation of t...转载 2017-12-08 15:29:35 · 313 阅读 · 0 评论 -
推荐10 个短小却超实用的 JavaScript 代码段
。我的做法是,收集和使用那些常见的JavaScript代码段,并在需要时,尽可能首先使用它们。下面便是我收集的10段实用JavaScript代码,基于它们你还可以创造出更强大的JS插件或功能函数。1. 判断日期是否有效JavaScript中自带的日期函数还是太过简单,很难满足真实项目中对不同日期格式进行解析和判断的需要。JQuery也有一些第三方库来使日期相关的处理变得简单,但有时你可能只...转载 2017-12-08 10:48:53 · 479 阅读 · 0 评论 -
分享一些前端开发中最常用的JS代码片段以及理解 JS闭包
记得几年前刚工作那时,听到高大上的 JS闭包 一词 让我一头雾水,很多初学者也许和我当时一样困惑,其实 闭包 也并没那么高深莫测。今天我写了篇简单的学习笔记 希望能帮助大家轻松理解 JS闭包。参考资料:1.《你所不知道的JavaScript-上卷》闭包和作用域章节、2. 阮一峰老师的《学习JavaScript闭包》( 大家学习时 为了更好理解,最好跟着本文内容 在IDE或浏览器控制台...转载 2017-12-12 15:52:15 · 265 阅读 · 0 评论 -
总结js常用函数和常用技巧(持续更新)
学习和工作的过程中总结的干货,包括常用函数、常用js技巧、常用正则表达式、git笔记等。为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路。 PS:此文档,我会持续更新。2016-10-11 js数组比较相等function cmpare() { for (var i = 0; i < arguments.length; i++) { return ...转载 2017-12-08 15:45:51 · 200 阅读 · 0 评论 -
JavaScript:获取url的querystring参数
一. 获取url的querystring参数获取url的querystring参数的两种方法如下:1.1 方法一:正则匹配//获取url中的参数function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", i); // 匹配目标参数 ...转载 2017-12-12 16:17:20 · 308 阅读 · 0 评论 -
深入理解 JavaScript 异步系列(2)—— jquery的解决方案
第一部分,jQuery-1.5 之后的 ajax本地址 http://www.cnblogs.com/wangfupeng1988/p/6515779.html 未经允许不得转载~$.ajax这个函数各位应该都比较熟悉了,要完整的讲解 js 的异步操作,就必须先从$.ajax这个方法说起。想要学到全面的知识,大家就不要着急,跟随我的节奏来,并且相信我。我安排的内容,肯定都是有用的,对主...转载 2017-12-14 11:01:57 · 302 阅读 · 0 评论 -
深入理解 JavaScript 异步系列(1)——基础
前言http://www.cnblogs.com/wangfupeng1988/p/6513070.html 2014年秋季写完了《深入理解javascript原型和闭包系列》,已经帮助过很多人走出了 js 原型、作用域、闭包的困惑,至今仍能经常受到好评的留言。很早之前我就总结了JS三座大山这个概念(虽然没有到处宣扬),前两座(原型、作用域)已经基本讲明白,而第三座(异步)也应该做一...翻译 2017-12-14 11:01:10 · 366 阅读 · 0 评论