JavaScript
文章平均质量分 78
yinxiangzhongqing
活到老,学到老!
展开
-
ES5中forEach和map的区别?
相同点:1、都是遍历数组的每一项2、匿名函数传参都为3个分别为(item,index,arr)3、匿名函数中的this都指向window4、只能遍历数组区别:forEach不会返回数据,对数组操作会改变原数组 ,map会返回一个新的数组,操作不会改变原数组forEach无法进行跳出循环,可以使用thorw new error抛出异常的形式跳出循环使用return f...原创 2020-03-15 22:29:56 · 219 阅读 · 0 评论 -
backbone增删改查小例子
BACKBONE.JS简单入门范例11年刚开始用前端MVC框架时写过一篇文章,当时Knockout和Backbone都在用,但之后的项目全是在用Backbone,主要因为它简单、灵活,无论是富JS应用还是企业网站都用得上。相比React针对View和单向数据流的设计,Backbone更能体现MVC的思路,所以针对它写一篇入门范例,说明如下:1. 结构上分4节,介绍Model/V转载 2017-07-17 19:30:37 · 1702 阅读 · 0 评论 -
懒加载的原理与实现
懒加载的原理原理:先将img标签中的src链接设为同一张图片(空白图片),将其真正的图片地址存储再img标签的自定义属性中(比如data-src)。当js监听到该图片元素进入可视窗口时,即将自定义属性中的地址存储到src属性中,达到懒加载的效果。 这样做能防止页面一次性向服务器响应大量请求导致服务器响应慢,页面卡顿或崩溃等问题。代码实现既然懒加载的原理是基于判断元素是否出现在窗口可视范...原创 2017-06-26 15:14:38 · 2353 阅读 · 0 评论 -
js将数组对象转化为json格式的数组
我们采用ajax从后台得到的数据往往是数组对象形式的,怎样转化为js识别的json数据格式呢?解决方法:步骤1:将数组对象采用JSON.stringify()方法转化为字符串,比如下图1中的数组对象经此方法转化后得到图2中数据:图1:图2:步骤2:事实上图2中打印出来虽然是json的数组格式,其实得到的是一个字符串,还要采用eval()方法转化为真正的json数组格原创 2017-02-14 19:16:50 · 4497 阅读 · 0 评论 -
iframe获取父、子窗口的方法
jQuery、js调用iframe父窗口与子窗口元素的方法1. jquery在iframe子页面获取父页面元素代码如下:$("#objid",parent.document)2. jquery在父页面获取iframe子页面的元素代码如下:$("#objid",document.frames('iframename').document)转载 2017-02-28 12:28:47 · 364 阅读 · 0 评论 -
JavaScript模块化编程
一、模块的写法随着互联网技术的不断发展,浏览器逐渐成了集大成的CS客户端,越来越像桌面程序,需要一个团队分工协作、进度管理、单元测试等,开发中不得不使用软件工程的方法来管理页面的业务逻辑,因此模块化编程便成了一种急需应用的技术。首先先介绍模块的写法:1、原始写法模块就是实现特定功能的一组方法,只要把不同的函数(以及记录状态的变量)简单放在一起就算一个模块。function m1原创 2017-02-28 10:30:31 · 362 阅读 · 0 评论 -
JavaScript经典算法实现
1.冒泡排序冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。作为最简单的排序算法之一,冒泡排序给我的感觉就像 Abandon 在单词书里出现的感觉一样,每原创 2017-02-17 14:48:23 · 443 阅读 · 0 评论 -
JS中面向对象设计
面向对象的语言有一个标志,即拥有类的概念,抽象实例对象的公共属性与方法,基于类可以创建任意多个实例对象,一般具有封装、继承、多态的特性!但JS中对象与纯面向对象语言中的对象是不同的,ECMA标准定义JS中对象:无序属性的集合,其属性可以包含基本值、对象或者函数。可以简单理解为JS的对象是一组无序的值,其中的属性或方法都有一个名字,根据这个名字可以访问相映射的值(值可以是基本值/对象/方法)。转载 2017-01-17 10:13:23 · 263 阅读 · 0 评论 -
JavaScript基于面向对象之继承机制
一、面相对象继承机制 这个实例使用UML很好的解释了继承机制。 说明继承机制最简单的方式是,利用一个经典的例子就是几何形状。实际上,几何形状只有两种,即椭圆形(是圆形的)和多边形(具有一定数量的边)。圆是椭圆的一种,它只有一个焦点。三角形、矩形和五边形都是多边形的一种,具有不同数量的边。正方形是矩形的一种,所有的边等长。这就构成了一种完美的继承关系,很好的解释了面向对象原创 2017-02-07 20:10:20 · 302 阅读 · 0 评论 -
for循环内使用闭包,变量的作用域详解
循环内使用闭包的其实要根据作用域来解释首先js中是没有“块状作用域”的,请看下面java例子Java code?12345678 //scope1 作用域1 for (int i = 0; i 10; i++){ //转载 2017-01-01 18:12:28 · 2370 阅读 · 1 评论 -
解决IE浏览器不支持console,报错未定义问题
问题产生: 前端开发调试经常用到console.info进行打印信息,前几天调试的时候Google功能完全OK,但是IE8浏览器点设置按钮完全没反应,看了修改的代码貌似没看出什么存在浏览器兼容性问题的呀,无意间点设置时发现浏览器底部闪了一下“网页存在错误”的提示,闪过后就是完成的标志,点进去弹出错误框,直接看图: 网页提示console未定义,一脸懵逼,这个都可以出错,百度了一原创 2017-01-10 11:12:59 · 47398 阅读 · 0 评论 -
JS的for循环总是弹出最后一个值得解决方法
首先看一下HTML内容,现在我想得到标签内的索引和内容,你也许刷刷的写下以下代码:但是结果却不尽人意,总是弹出“6----果敢”,比较好的解决方法有以下几种:1、使用闭包 var els = document.getElementsByTagName("li"); for (i = 0; i < els.length; i++) { var el = els[i原创 2017-01-04 14:16:10 · 12333 阅读 · 0 评论 -
javascript深入理解js闭包
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。Js代码 var n=999;转载 2017-01-02 20:48:51 · 248 阅读 · 0 评论 -
js左侧三级菜单导航代码
效果演示: 实例代码: demo<!--body { font-family: Arial, Helvetica, sans-serif; font-size: 11px;}#nav, #nav ul { list-style: none; background: #F9F9F9; font转载 2016-11-02 13:41:20 · 3376 阅读 · 0 评论 -
DOM解析xml文档节点下的所有子节点,怎么样只输出标签名而没有<#text>标签
XML文档: 现在我要遍历根节点matchineroot节点下所有子节点并获得节点名,如果直接用DOM遍历节点的方法输出的节点名不仅包含文档中所有子节点名,还会输出很多,事实上node instanceof Text的场合:输出是:#text,node instanceof Element的场合:输出是:标签原创 2016-10-31 09:26:55 · 4856 阅读 · 0 评论 -
window.location方法
window.location方法获取URL:统一资源定位符 (Uniform Resource Locator, URL) 完整的URL由这几个部分构成: scheme://host:port/path?query#fragment scheme:通信协议 常用的http,ftp,maito等 host:主机转载 2016-10-13 09:54:41 · 1406 阅读 · 0 评论