JavaScript
文章平均质量分 83
快乐的程序媛
我要成为一个快乐的程序媛!
展开
-
在javascript中变量的作用范围
在JavaScript中并没有强制性的要求必须提前声明变量,所以是可以不声明就可以使用的,这就造成了很多问题,比如会污染全局变量。因为根据变量定义的范围不同,变量有全局变量与局部变量之分。直接定义的变量是全局变量,可以被所有的脚本访问;而在函数中定义的变量是局部变量,只能在函数内部有效。如果二者使用的变量名一样,局部变量就会覆盖全局变量,即污染了全局变量。下面是一些代码:1..结果是:转载 2016-08-17 16:11:06 · 2123 阅读 · 0 评论 -
冒泡和快排的js实现
冒泡 快排转载 2017-07-22 10:42:17 · 532 阅读 · 0 评论 -
几个经典递归问题用js实现
Question1—Fibonacci数列第N项an:a1=1,a2=1,an+2=an+1+an(n≥1)。var fib = function (n){ if(n<=2){ return 1; } return fib(n-1) + fib(n-2); }console.log(fib(5));上面是递归实现。原创 2017-07-22 22:14:29 · 35717 阅读 · 1 评论 -
JavaScript函数式编程(三)
事实上,如果只是为了学习编写函数式、副作用小的代码的话,看完第一篇文章就足够了。第二篇文章和这里的第三篇着重于的是一些函数式理论的实践,是的,这些很难(但并非不可能)应用到实际的生产中,因为很多轮子都已经造好了并且很好用了。比如现在在前端大规模使用的 Promise 这种异步调用规范,其实就是一种 Monad(等下会讲到);现在日趋成熟的 Redux 作为一种 FLUX 的变种实现,核心理念也是状态机和函数式编程。转载 2017-07-23 12:51:44 · 568 阅读 · 0 评论 -
JavaScript函数式编程(二)
上一篇在这里:JavaScript函数式编程(一)上一篇文章里我们提到了纯函数的概念,所谓的纯函数就是,对于相同的输入,永远会得到相同的输出,而且没有任何可观察的副作用,也不依赖外部环境的状态。但是实际的编程中,特别是前端的编程范畴里,“不依赖外部环境”这个条件是根本不可能的,我们总是不可避免地接触到 DOM、AJAX 这些状态随时都在变化的东西。所以我们需要用更强大的技术来干这些转载 2017-07-23 12:50:24 · 367 阅读 · 0 评论 -
JavaScript函数式编程(一)
一、引言说到函数式编程,大家可能第一印象都是学院派的那些晦涩难懂的代码,充满了一大堆抽象的不知所云的符号,似乎只有大学里的计算机教授才会使用这些东西。在曾经的某个时代可能确实如此,但是近年来随着技术的发展,函数式编程已经在实际生产中发挥巨大的作用了,越来越多的语言开始加入闭包,匿名函数等非常典型的函数式编程的特性,从某种程度上来讲,函数式编程正在逐步“同化”命令式编程。JavaScri转载 2017-07-23 12:48:15 · 421 阅读 · 0 评论 -
JavaScript 详说事件机制之冒泡、捕获、传播、委托
DOM事件流(event flow )存在三个阶段:事件捕获阶段、处于目标阶段、事件冒泡阶段。事件捕获(event capturing):通俗的理解就是,当鼠标点击或者触发dom事件时,浏览器会从根节点开始由外到内进行事件传播,即点击了子元素,如果父元素通过事件捕获方式注册了对应的事件的话,会先触发父元素绑定的事件。事件冒泡(dubbed bubbling):与事件捕获恰恰相反,事件转载 2017-07-11 10:34:35 · 349 阅读 · 0 评论 -
JavaScript快速入门
JavaScript快速入门转载 2017-03-05 23:24:41 · 415 阅读 · 0 评论 -
浅谈浏览器端JavaScript跨域解决方法
由于安全的原因,浏览器做了很多方面的工作,由此也就引入了一系列的跨域问题,需要注意的是:跨域并非浏览器限制了发起跨站请求,而是跨站请求可以正常发起,但是返回结果被浏览器拦截了。最好的例子是 CSRF 跨站攻击原理,请求是发送到了后端服务器无论是否跨域!注意:有些浏览器不允许从HTTPS的域跨域访问HTTP,比如Chrome和Firefox,这些浏览器在请求还未发出的时候就会拦截请求,这是一个特转载 2017-03-03 20:38:20 · 614 阅读 · 0 评论 -
正则表达式总结
每次使用到正则表达式的时候都要去翻书或者去网上查,很麻烦,抽出点时间做一个总结,方便以后用到的时候查阅。转载 2017-03-06 23:13:31 · 493 阅读 · 0 评论 -
JavaScript中的块级作用域和私有变量
模仿块级作用域:JavaScript没有块级作用域的概念。这意味着在块语句中定义的变量,实际上是在包含函数中而非语句中创建的。看一个例子: function outputNumbers(count){ for(vari=0;i alert(i);}alert(i); //计数}这个函数中定义了一个for循环,变量i的初始值被设转载 2017-03-18 11:13:56 · 379 阅读 · 0 评论 -
动态生成行,序号随之增加,删除后依然按顺序。所以给动态生成的html元素绑定click事件
一张表格要动态实现添加行,然后序列号还要随着增加,当删除的时候序列号依旧是按顺序排列。转载 2017-03-03 22:35:41 · 5266 阅读 · 1 评论 -
JavaSript模块规范 - AMD规范与CMD规范介绍
JavaSript模块化在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发?模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理。模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式。可以想象一个巨大的系统代码,被整合优化分割成逻辑性很强的模块时,对于软件是一种何等意义的存在。对于软件行业转载 2016-08-17 16:38:16 · 606 阅读 · 0 评论