`

jQuery.typeof and jQuery.isEmpty Utilities

阅读更多

One of the best aspects of jQuery is its light weight. I have really taken advantage of some of its built in Utilities such as jQuery.extend() and jQuery.map(). I am definitely against bloated software, but I find myself writing these functions time and again. They are pretty utilitarian and not too huge. Just a suggestion (code borrowed from Crockford's Remedial JavaScript)

 

1. A better typeof function that actually returns 'array' for an array instead of 'object':

function typeOf(value) { 

var s = typeof value; if (s === 'object') { 

if (value) { 

if (typeof value.length === 'number' && 

!(value.propertyIsEnumerable('length')) && typeof value.splice === 'function') { 

s = 'array'; 

} 

} else { 

s = 'null'; 

} 

} return s; 

} 

 

2. A simple isEmpty function that returns a boolean:

function isEmpty(o) { 

var i, v; if (typeOf(o) === 'object') { 

for (i in o) { 

v = o[i]; if (v !== undefined && typeOf(v) !== 'function') { 

return false; 

} 

} 

} return true; 

} 

 

分享到:
评论

相关推荐

    最新jquery.min.js

    •Deferred:当typeof( target)=='object'时,Deferred.promise( target)才能正常工作 •Event:使用委托事件和伪类时的性能衰退问题 •Misc:修复了一些兼容问题,并进行了优化 •Offset:在BlackBerry5和iOS3上...

    jquery.params.js

    jQuery.query = new function () { var is = function (o, t) { return o != undefined && o !== null && (!!t ? o.constructor == t : true); }; var parse = function (path) { var m, rx = /\[([^[]*)\]/g, ...

    jQuery.js的构造函数分析.doc

    if (a && typeof a == "function" && jQuery.fn.ready) return jQuery(document).ready(a); ``` 这段代码检查第一个参数 `a` 是否为函数。如果是,那么这实际上是一个简写形式的 `$(document).ready()` 调用,意味...

    jquery.form.js

    if(typeof(_rollback) == "string"){ options.target = _rollback; } options.beforeSubmit = function(formData, jqForm, options){ $('#'+_formId + " :input").blur(); if($('#'+_formId).errors....

    5.typeof和数据类型转换.md

    5.typeof和数据类型转换.md

    js表单源码 jquery.form.rar

    js表单源码 jquery.form.rar 简单实用的工具 花了很多搞到的。珍惜使用 (function (factory) { "use strict"; if (typeof define === 'function' && define.amd) { // using AMD; register as anon module ...

    图形jquery.gvChart-1.0.1.min.js

    // Open a new window and print selected content var w = window.open(); w.[removed](content); w.document.close(); return printFrame(w); } function isNode(o) { /* ...

    检测jQuery.js是否已加载的判断代码

    if (typeof jQuery == 'undefined') { // jQuery 未加载 } else { // jQuery 已加载 } ``` 这种方法更严谨一些,通过判断`jQuery`的类型是否为`undefined`来确定jQuery是否已加载。这种方法同样适用于检测任何...

    JQuery Plugins

    可以使用`if (typeof jQuery !== 'undefined')`进行检查。 - **设置默认选项**:创建一个对象来存储插件的默认配置。 - **链式调用**:返回`this`,以便于插件方法可以链式调用其他jQuery方法。 - **执行功能**:在...

    jquery.gettype:帮助检测变量类型的快速方法

    然而,`typeof`在某些情况下可能不准确,例如,`typeof null`会返回`"object"`,而`typeof function`则返回`"function"`,这可能会导致混淆。 `jQuery.getType`函数解决了这些潜在的问题。它提供了一个更加可靠的...

    jquery插件开发

    } else if (typeof method === 'object' || !method) { return methods.init.apply(this, arguments); } else { $.error('Method ' + method + ' does not exist on jQuery.hilight'); } }; })(jQuery); ``` ...

    模仿JQuery.extend函数扩展自己对象的js代码

    在JavaScript编程中,`JQuery.extend` 是一个非常重要的功能,它允许我们合并或扩展一个对象的属性到另一个对象上,而不会改变原有对象。在本文中,我们将深入理解这个概念,并模仿 `JQuery.extend` 来创建一个...

    jQuery基础

    if ( typeof selector === "string" ) { // Are we dealing with HTML string or an ID? var match = quickExpr.exec( selector ); // Verify a match, and that no context was specified for #id if...

    jQuery.query.js 取参数的两点问题分析

    在处理前端开发中页面间的URL传值时,我们经常会使用jQuery.query.js这样的JavaScript库来解析URL中的查询字符串。这个库允许开发者方便地从URL中获取参数值,但在使用过程中可能会遇到一些问题。本文将针对使用...

    jquery-1.8.2.min.js

    Deferred:当typeof( target)=='object'时,Deferred.promise( target)才能正常工作 Event:使用委托事件和伪类时的性能衰退问题 Misc:修复了一些兼容问题,并进行了优化 Offset:在BlackBerry5和iOS3上使用会抛...

    100套Java源码-nuevo:/*!jQueryv1.9.1|(c)2005、2012jQueryFoundation,Inc.|jque

    typeof t,o = e.document,a = e.location,s = e。 jQuery,u = e。$,l = {},c = [],p =“ 1.9.1”,f = c.concat,d = c.push,h = c.slice,g = c.indexOf, m = l.toString,y = l.hasOwnProperty,v = p....

    jquery引入外部CDN 加载失败则引入本地jq库

    if (typeof jQuery == 'undefined') { document.write(unescape("%3Cscript src='/skin/mobile/js/jquery.min.js' type='text/javascript'%3E%3C/script%3E")); } ``` 在这段代码中,我们首先尝试加载百度CDN上...

    使用jquery的datagrid经常遇到的问题

    = clearForm && typeof(clearForm) != "undefined") { clearForm.reset(); } } ``` 这个方法接受一个参数 `formId`,它是需要被清空的表单的 ID。通过调用 `reset()` 方法可以轻松地清空表单的所有字段。 ##### ...

    Jquery 1.9.1源码分析系列(十二)之筛选操作

    废话不多说了直接奔入主题了。 jQuery.fn.find( selector )  find接受一个参数表达式...if ( typeof selector !== "string" ) { self = this; return this.pushStack( jQuery( selector ).filter(function() {

Global site tag (gtag.js) - Google Analytics