JavaScript、jQuery 检测某 function 是否存在
JavaScript 中检测某 function 是否存在的方法为:
if(typeof $form.validate == 'function') { console.log('该 function 存在'); } else { console.log('该 function 不存在'); }
例如: 需要检测一个 MD5 方法是否存在:
JavaScript 中检测某 function 是否存在的方法为:
if(typeof $form.validate == 'function') { console.log('该 function 存在'); } else { console.log('该 function 不存在'); }
例如: 需要检测一个 MD5 方法是否存在:
虽然 JavaScript 本身是没有类
的概念,但它仍然有面向对象的特性,虽然和一般常见的面向对象语言有所差异。
简单的创建一个对象的方法如下:
function myObject() { };
JavaScript 中创建对象的方法一般来说有两种:函数构造法和字面量法,上面这种属函数构造法。下面是一个字面量法的例子:
借助于 XMLHttpRequest,浏览器可以在整个页面不刷新的情况下与服务端进行交互,这就是所谓的 Ajax(Asynchronous JavaScript and XML)。Ajax 可以为用户提供更为丰富的用户体验。
Ajax 请求由 JavaScript 驱动,通过 JavaScript 代码向 URL 发送一个请求,待服务端有响应时会触发一个回调函数,可以在这里回调函数里面处理服务端返回的信息。由于整个发送请求和响应的过程是异步的,所以在此期间页面中其它 Javascript 代码仍然继续执行,不会中断。
伟大的爱因斯坦同志说过:“如果你无法向一个 6 岁小孩解释清楚某问题,那说明你自己都没整明白”。然而,当我向一个 27 岁的朋友解释什么是闭包时,却彻底失败了。
这原本是国外某哥们儿在 Stack Overflow 上对 JavaScript 闭包所提出的问题。不过既然此问题是在 Stack Overflow 提出的,当然也会有很多高手出来解答,其中有些回答确实是经典,如下面这个:
不要每次都在循环中访问数组的 length
属性,应在循环开始之前就将其缓存:
var myLength = myArray.length; for (var i = 0; i < myLength; i++) { // do stuff }