
JavaScript
文章平均质量分 73
qfgg3
这个作者很懒,什么都没留下…
展开
-
JavaScript instanceof 运算符深入剖析
随着 web 的发展,越来越多的产品功能都放在前端进行实现,增强用户体验。而前端开发的主要语言则是 JavaScript。学好 JavaScript 对开发前端应用已经越来越重要。在开发复杂产品中,需要使用面向对象的机制时,往往会用到复杂的 JavaScript 继承,而 instanceof 运算符是 JavaScript 语言中原生的用来判断实例继承关系的操作符。深入理解 instance转载 2016-07-10 12:02:00 · 286 阅读 · 0 评论 -
浏览器输入网址后台是如何运作的
作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~1. 首先嘛,你得在浏览器里输入要网址:2. 浏览器查找域名的IP地址导航的第一步是通过访问的域名找出其IP地址。转载 2016-07-10 19:53:36 · 4419 阅读 · 0 评论 -
Javascript学习系列(六):javascript控制Cookie,保留用户登录信息
想要下一次进入自己的网站时保留用户信息以便简化登录手续,所以研究了Cookie。 Cookie是储存在用户本地上的数据,可以将用户的信息长久的保存到用户机的文件中。 请看这个登录的例子(如果有不懂的,请看javascript cookie详解)登陆页login.html[html] view plain cop转载 2016-07-10 23:53:54 · 307 阅读 · 0 评论 -
Javascript异步编程的4种方法
作者: 阮一峰日期: 2012年12月21日你可能知道,Javascript语言的执行环境是"单线程"(single thread)。所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须转载 2016-07-01 10:26:39 · 267 阅读 · 0 评论 -
基于事件的JavaScript编程:异步与同步
JavaScript的优势之一是其如何处理异步代码。异步代码会被放入一个事件队列,等到所有其他代码执行后才进行,而不会阻塞线程。然而,对于初学者来说,书写异步代码可能会比较困难。而在这篇文章里,我将会消除你可能会有的任何困惑。理解异步代码JavaScript最基础的异步函数是setTimeout和setInterval。setTimeout会在一定时间后执行给定的函数。它接受一个回转载 2016-07-01 11:10:19 · 335 阅读 · 0 评论 -
setTimeout和setInterval的区别你真的了解吗?
甚至可能会错误的把两个实现定时调用的函数理解成了类似thread一样的东西, 认为会在一个时间片内, 并发的执行调用的函数, 似乎很好很强大, 但其实并不是如此, 实际的情况是javascript都是以单线程的方式运行于浏览器的javascript引擎中的, setTimeout和setInterval的作用只是把你要执行的代码在你设定的一个时间点插入js引擎维护的一个代码队列中, 插入代码队转载 2016-07-01 11:24:53 · 276 阅读 · 0 评论 -
说说JSON和JSONP,也许你会豁然开朗
前言 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现。 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯和本地数据库功能,又或者通过HTML5的WebSocket也可以实现与服务器的通讯和服务端推功能,但这两种方式都有其局限性,前者需要PhoneGap支持,后者要求用户设备必须转载 2016-07-01 15:19:22 · 257 阅读 · 0 评论 -
Ajax使用JSON向服务器发送数据
做了这么多,你已经能更顺手地使用JavaScript了,也许在考虑把更多的模型信息放在浏览器上。不过,看过前面的例子后(使用XML向服务器发送复杂的数据结构),你可能会改变主意。通过串连接来创建XML串并不好,这也不是用来生成或修改XML数据结构的健壮技术。JSON概述XML的一个替代方法是JSON,可以在www.json.org找到。JSON是一种文本格式,它独立于具体语言,但是转载 2016-07-01 17:36:37 · 3222 阅读 · 1 评论 -
Ajax: A New Approach to Web Applications
Ajax: A New Approach to Web ApplicationsAjax: 开发web应用的新方法by Jesse James GarrettFebruary 18, 2005原文网址:http://adaptivepath.com/ideas/essays/archives/000385.php阅读这篇首创 Ajax 这个术语的文章。这是所有转载 2016-07-01 18:11:02 · 370 阅读 · 0 评论 -
setTimeout延时0毫秒的作用
经常看到setTimeout延时0ms的javascript代码,感到很迷惑,难道延时0ms和不延时不是一个道理吗?后来通过查资料以及实验得出以下两个作用,可能还有作用我还不知道,希望得知的朋友在后面评论上不吝指出。1、实现javascript的异步;正常情况下javascript都是按照顺序执行的。但是我们可能让该语句后面的语句执行完再执行本身,这时就可以用到setTimeout延时0m转载 2016-07-05 22:35:33 · 326 阅读 · 0 评论 -
Javascript实现图片预加载【回调函数,多张图片】
使用JS实现一组图片动画效果或者使用HTML5 Canvas渲染一系列图片等案例中,需要图片全部加载完成方可运行动画效果。此时程序中就会涉及多张图片预加载代码。当接二连三的案例中都涉及图片预加载时,就需要考虑把这个功能封装为一个通用方法。 (1)下面为JS实现图片预加载方法loadImages(): Js代码 //实现一系列图片的预加载转载 2016-07-06 21:46:31 · 343 阅读 · 0 评论 -
JavaScript Stack from Scratch
https://github.com/verekia/js-stack-from-scratchThis is a straight-to-the-point guide to assembling a JavaScript stack. It requires some general programming knowledge, and JavaScript basics.转载 2017-03-09 09:40:26 · 410 阅读 · 0 评论 -
javascript download excel file from JSON data
export default function JSONToCSVConvertor(JSONData, ReportTitle, ShowLabel) { //If JSONData is not an object then JSON.parse will parse the JSON string in an Object var arrData = typeof JSONDat原创 2017-03-09 12:52:42 · 1295 阅读 · 0 评论 -
用isNaN函数判断是否是Number中的坑
isNaN主要作用是判断是否是NaN,反过来却不一定是Number,而是可以转为Number的一切类型ExamplesEDITisNaN(NaN); // trueisNaN(undefined); // trueisNaN({}); // trueisNaN(true); // falseisNaN(null); // fals原创 2016-06-28 09:17:26 · 4457 阅读 · 0 评论 -
获取Object的所有keys or values
有的时候,我们需要操作Object中的key和value,我们需要获取对应的所有keys或者values 先看看prototype的api设计吧: Js代码 /* 获取keys */ keys:function(obj){ var keys = []; for(var pro in obj){ keys.push(pro); } return ke转载 2016-06-18 13:02:37 · 452 阅读 · 0 评论 -
Ajax中的get和post两种请求方式的异同
Ajax中我们经常用到get和post请求.那么什么时候用get请求,什么时候用post方式请求呢? 在做回答前我们首先要了解get和post的区别.1、 get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所转载 2016-06-28 17:54:49 · 298 阅读 · 0 评论 -
javascript的缓动效果(第1部分)
缓动,学名为Tween,缓冲移动的简称。要想页面内容切换起来舒服,就使用淡入淡出特效,要想让页面元素动起来自然,就要使用缓动效果。这两个混合起来,可以衍生多种特效的。感谢Flash开发人员为我们做了那么多先行研究,我们直接把它们拆出来装在各种菜单与相册中。我们先从最简单的东西做起,加速与减速。既然是缓动,它就一定涉及以下概念:距离,时间与速度。我们可以想象存在一条直线L,点A与点B就是L的转载 2016-07-10 08:46:27 · 388 阅读 · 0 评论 -
深入理解JavaScript类数组
写这篇博客的起因,是我在知乎上回答一个问题时,说自己在学前端时把《JavaScript高级程序设计》看了好几遍。于是在评论区中,出现了如下的对话:天啦噜,这话说的,宝宝感觉到的,是满满的恶意啊。还好自己的JavaScript基础还算不错,没被打脸。(吐槽一句:知乎少部分人真的是恶意度爆表,整天想着打别人的脸。都是搞技术的,和善一点不行吗…………)不过这个话题也引起了我的注意转载 2016-07-10 09:53:02 · 316 阅读 · 0 评论 -
【转】JavaScript 正则表达式上——基本语法
定义JavaScript种正则表达式有两种定义方式,定义一个匹配类似 的字符串1. 构造函数var reg=new RegExp(']+%>','g');2. 字面量var reg=/]%>/g;g: global,全文搜索,默认搜索到第一个结果接停止i: ingore case,忽略大小写,默认大小写敏感m: multiple lines转载 2016-06-07 10:37:39 · 355 阅读 · 0 评论 -
【转】深入了解javascript中的exec与match方法
这是我在csdn上的一篇文章,今天又忘记match的特性了,发现知识还得温故而知新啊。 一直以来对exec和match方法的区别有些混淆,今天重看帮助文档(帮助文档中主要依据一些晦涩的例子佐证,无助于理解),然后在百度搜集了下一些介绍文章,其中下面一篇文章(楼兰之风...的《彻底领悟javascript中的exec与match方法》)被多次检索,并在百度搜索第一条。转载 2016-06-10 23:07:36 · 239 阅读 · 0 评论 -
Advanced JavaScript Array Methods: fill and reverse
In addition to the basic methods forJavaScript arrays there are some new, powerful techniques for modifying array content. Like push, pop, shift and unshift , these methods are referred to as mutato转载 2016-06-16 16:45:44 · 243 阅读 · 0 评论 -
【转】图解:JavaScript中Number的一些表示上/下限 V4.2
本文来自对http://javascript-puzzlers.herokuapp.com/相关的精度问题的探索,并尝试着以一个数轴链接一些关于Number,关于数字表示的知识点。欢迎帮忙捉虫、补充。更新listV1.1 细微改进。V2.0 补充了内存模型的草图,但是出现了重大问题,没有解释前面出现的隐藏位数。V3.0 因为觉得太丢脸,删掉了原帖,在新的一贴中,补充说明了隐藏位转载 2016-06-16 21:54:01 · 385 阅读 · 0 评论 -
JavaScript 正则表达式对象RegExp test方法慎用/g
JavaScript 正则表达式对象RegExp的test方法,用于检测一个字符串是否匹配某个模式。字面量定义RegExp对象:var re = /pattern/attributes,其中attributes可以是g,i,m; 阅读以下程序 var str = 'abc123'; var re = /^abc/g var result1 = re.test(str); v转载 2016-06-18 10:18:40 · 844 阅读 · 0 评论 -
Javascript经验总结
0、新建100个数的数组,全赋值为3var arr=new Array(100);arr.fill(3);1、复制数组,不可直接赋值,不可使用push(和赋值一样都只是复制引用)。正解:copy=arr.slice()2、快速获得对象中所有键值对数组,Object.keys(obj).map(function(v){ return [v, dict[v]] })3、原创 2016-06-18 14:35:21 · 263 阅读 · 0 评论 -
Javascript中Array.prototype.map()详解
1.map基本定义:array.map(callback[, thisArg]);map 方法会给原数组中的每个元素都按顺序调用一次 callback 函数。callback 每次执行后的返回值组合起来形成一个新数组。 callback 函数只会在有值的索引上被调用;那些从来没被赋过值或者使用 delete 删除的索引则不会被调用。callback 函数会被自动传入三个参数:数转载 2016-06-18 19:16:52 · 597 阅读 · 0 评论 -
【转】javascript一种新的对象创建方式-Object.create()
1.Object.create() 是什么? Object.create(proto [, propertiesObject ]) 是E5中提出的一种新的对象创建方式,第一个参数是要继承的原型,如果不是一个子函数,可以传一个null,第二个参数是对象的属性描述符,这个参数是可选的。 例如: function Car (desc) { this.desc =转载 2016-06-21 15:12:57 · 353 阅读 · 0 评论 -
前端开发者进阶之函数柯里化Currying
在计算机科学中,柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。这个技术由 Christopher Strachey 以逻辑学家哈斯凯尔·加里命名的,尽管它是 Moses Schönfinkel 和 Gottlob Frege 发明的。这是来自维基百科的名词转载 2016-06-23 10:53:10 · 292 阅读 · 0 评论 -
javascript检测对象中是否存在某个属性判断方法小结
检测对象中属性的存在与否可以通过以下几种方法来判断:使用in关键字、使用对象的hasOwnProperty()方法、用undefined判断、在条件语句中直接判断,感兴趣的朋友可以了解下哈检测对象中属性的存在与否可以通过几种方法来判断。 1.使用in关键字该方法可以判断对象的自有属性和继承来的属性是否存在。 复制代码代码如下:var o={x:1}; "转载 2016-06-27 10:34:26 · 386 阅读 · 0 评论 -
JavaScript 中的一些坑
“坑”这个字,在此的意思是“陷阱”。由于 JavaScript “弱语言”的性质,使得其在使用过程中异常的宽松灵活,但也极为容易“中招”。坑一:全局变量JavaScript 通过函数管理作用域。在函数内部声明的变量只在这个函数内部,函数外面不可用。另一方面,全局变量就是在任何函数外面声明的或是未声明直接简单使用的。“未声明直接简单使用”,指的是不用 var 关键字来转载 2016-06-28 13:44:33 · 314 阅读 · 0 评论 -
Web端导出CSV
前端导出文件大部分还是通过服务器端的方式生成文件,然后传递到客户端。但很多情况下当我们导出CSV时并不需要后端参与,甚至没有后端。 做过WebGIS的同学经常会碰到这种场景,用户的兴趣点数据以csv文件形式上传到web应用中以表格形式展示,并可以编辑属性信息,编辑完成后需要将数据下载到本地。特别是对一些敏感数据,用户不希望传递到应用服务器端,整个过程完全在客户端进行。 上传过程转载 2017-07-07 09:08:28 · 477 阅读 · 0 评论