如果您希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的。很多时候我们都用到for循环,而用到for循环部门往往对一个数组进行循环,其中我们很多时候都是这样写的:// 次佳的循环 for (var i = 0; i < myarray.length; i++) {// 使用myarray[i]做点什么} 这样的代码虽然没有什么大问题,但是每次循环都会获取一下数组的长度,这回降低你的代码,尤其当myarray不是数组,而是一个HTMLCollection对象的...
闭包的英文单词是closure,这是JavaScript中非常重要的一部分知识,因为使用闭包可以大大减少我们的代码量,使我们的代码看上去更加清晰等等,总之功能十分强大。闭包的含义:闭包说白了就是函数的嵌套,内层的函数可以使用外层函数的所有变量,即使外层函数已经执行完毕(这点涉及JavaScript作用域链)。示例一function checkClosure(){var str = rain-man;setTimeout(function(){ alert(str); } //这是一个匿名函数, 2000); } ch...
语法switch语句的基本语法给出一个expression ,以评估计算几种不同的语句基于该表达式的值来执行。解释器检查对表达式的值的每一种情况,直到找到一个匹配。如果没有匹配,则缺省(default)条件将被使用。switch (expression) {case condition 1: statement(s)break;case condition 2: statement(s)break;...case condition n: statement(s)break;default: statement(s) }break语句指示的解释器是特定情况下结束。如果它们被省略,...
本篇文章主要是对jquery中load方法的用法及注意事项进行了详细介绍,需要的朋友可以过来参考下,希望对大家有所帮助调用load方法的完整格式是:load( url, [data], [callback] ),其中 url:是指要导入文件的地址。 data:可选参数;因为Load不仅仅可以导入静态的html文件,还可以导入动态脚本,例如PHP文件,所以要导入的是动态文件时,我们可以把要传递的参数放在这里。 callback:可选参数;是指调用load方法并得到服务器响应后,...
微信JS SDK接入,主要可以先参考官网说明文档,总结起来有几个步骤:1.绑定域名:先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。备注:登录后可在“开发者中心”查看对应的接口权限。2.引入JS文件:在需要调用JS接口的页面引入如下JS文件,(支持https):,备注:支持使用 AMD/CMD 标准模块加载方法加载,这里补充引入jquery.cookie.js,sha1.js,后面需要用3.获取access_token,再获取jsapi_ticket...
前段时间同事在群里对jQuery里的.data()方法大发牢骚,接下来介绍jQuery $.data()方法使用注意细节,需要了解的朋友可以参考下前段时间同事在群里对jQuery里的.data()方法大发牢骚: XXX(NNNNNNN) 15:11:34 <a id="a" data-xxx="00123" /> alert($(#a).data(xxx));//123 data方法不靠谱 XXX(NNNNNNN) 15:13:17 老老实实用attr(data-xxx)吧细研究了下jQuery文档对.data()方法的描述: As of jQuery 1.4.3 HTML 5 data- attributes wi...
关于两者的区别,官网是这样说的:在切换 v-if 块时,Vue.js 有一个局部编译/卸载过程,因为 v-if 之中的模板也可能包括数据绑定或子组件。v-if 是真实的条件渲染,因为它会确保条件块在切换当中合适地销毁与重建条件块内的事件监听器和子组件。 v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——在条件第一次变为真时才开始局部编译(编译会被缓存起来)。 相比之下,v-show 简单得多——元素始终被编译并保留,只是简...
前言在Vue.js版本:1.0.27,使用Vue.js中V-bind指令来绑定class和style时,Vue.js对其进行了增强。表达式结果出了字符串之外,还可以是对象或者数组。这里自己对其进行了测试,发现有一下的问题:如果使用对象语法对class进行绑定话,class名称必须加上引号,代表所对应的样式,否则会将其当做对象的属性,从而使得初始化报错。<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <script src="http:...
本文实例分析了JS正则RegExp.test()使用注意事项。分享给大家供大家参考,具体如下:先看下面这段代码:// 2012-12-12 12:12:12 var regex = /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/g; // true alert(regex.test("2012-12-12 12:12:12")); // false alert(regex.test("2012-12-12 12:12:12"));执行结果已经在代码注释里了,可以看到:对于同一个正则表达式对象regex,不能重复调用:第一次返回true,第二次就返回false,很显然这种...
一、animate语法结构animate(params,speed,callback)params:一个包含样式属性及值的映射,比如{key1:value1,key2:value2}speed:速度参数[可选]callback:在动画完成时执行的函数[可选]二、自定义简单动画用一个简单例子来说明,实现单击某div在页面上横向飘动的效果。<style>#cube{position:relative;/* 不加这句元素不能动 */width:30px;height:30px;background:red;cursor:pointer;} </style> <body><div><div id="cube"></div></...
随着网络的发展,网速和机器速度的提高,越来越多的网站用到了丰富客户端技术。而现在Ajax则是最为流行的一种方式。JavaScript是一种解释型语言,所以能无法达到和C/Java之类的水平,限制了它能在客户端所做的事情,为了能改进他的性能,我想基于我以前给JavaScript做过的很多测试来谈谈自己的经验,希望能帮助大家改进自己的JavaScript脚本性能。 语言层次方面 循环 循环是很常用的一个控制结构,大部分东西要依靠它来完成,在Jav...
上个礼拜在整理以前写的一个日历脚本,FF下对年显示的总是有问题,搞了郁闷s。例如如下脚本:在IE下提示“2007”——没有问题!可是在FF下却提示“107”?var today = new Date(); alert(today.getYear()); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]Google了一下,才明白在FF的getYear返回的是“当前年份-1900”的值(传说以前一直这样处理),而NB的MS却当Year>=2000,直接把减去的1900又加回来了。呵呵,再次佩服IE的容错...
原文: JavaScript, We Hardly new Ya --Douglas Crockford。 http://yuiblog.com/blog/2006/11/13/javascript-we-hardly-new-ya/引用 JavaScript是一门基于原型的语言,但它却拥有一个 new 操作符使得其看起来象一门经典的面对对象语言。那样也迷惑了程序员们,导致一些有问题的编程模式。其实你永远不需要在JavaScript使用 new Object()。用字面量的形式{}去取代吧。同理,不要使用 new Array() ,而代之以字面量[]。JavaS...
!innerHTML是返回对象的HTML代码,而textarea是一个文本输入框,要返回它的内容应该用value属性fsdfsd fsdfs dfsdf [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
只在元素上使用submit事件 如果要在form中绑定事件处理程序时,应该只在元素上绑定submit事件,而不是给提交按钮绑定click事件。 March:这个方式固然很好,但是,公司开发时使用了Web Flow,一个页面就一个大form,而里面可能有若干个提交按钮,所以不得不把部分事件处理程序绑定在了提交按钮的click事件上。 可点击的都应该是链接 不要给除锚元素()以外的元素绑定click事件。这一点对于键盘用户很重要,因为他们在仅通过键盘获...