JS中判断空对象】的更多相关文章

js 判断空对象 首先要区分一个概念,空对象和空引用: 空对象:{}是指不含任何属性的对象,当然对象属性包括字面值和函数. 空引用:obj=null 是指变量值指向null变量,当然在js默认不赋值的情况下,一个变量为undefined. 空对象的讨论: 原型: 原型上包括了继承属性,有可以枚举的属性和不可以枚举的属性.默认对象都继承了Object. 自身: 自身属性同样包括了可枚举的属性和不可枚举的属性. 限定场景: 后台JSON对象: 判断后台传来的对象为空对象,此时,该对象一般为JSON对…
function isValue(o) { return (this.isObject(o) || this.isString(o) || this.isNumber(o) || this.isBoolean(o));}function isString(o) { return typeof o === 'string';}function isObject(o){ return (o && (typeof o === 'object' || $.isFunction(o))) || fa…
最近在项目开发中判断空对象时,用了“!”运算符,结果程序出现bug,找了好久才找到原因. 其实自己范了一些低级错误,现在把自己经验总结一下: 在JavaScript中,任意JavaScript的值都可以转换为布尔值. 下面这些值会被转换成false: undefined.null.0.-0.NaN.“”(空字符串). NaN--表示非数字值.无穷大除以无穷大.给任意负数作开方运算或者算术运算符与不是数字或无法转换为数字的操作数一起使用时都将返回NaN. 判断一个值是否为NaN方法:1.x!=x返…
最近项目遇到判断空对象的一个问题,查阅相关资料再进行总结一下. 判断空对象不比判断空字符串之类的,因为空对象也是一个对象,需要单独分配内存,而不是像字符串那样为空时就是大锅饭,大家都相等,如下代码: 如上代码可以发现,无论是通过对象字面量方式创建的空对象还是通过Object构造函数创建的空对象,彼此之间都是不相等的. 1.将对象转换为字符串进行比较 这种方法很不推荐,但也确实是最容易想到的,主要使用JSON.stringify()这个方法对对象进行强转,贴出来仅供一看: var a={}; va…
JS中的event 对象详解   JS的event对象 Event属性和方法:1. type:事件的类型,如onlick中的click:2. srcElement/target:事件源,就是发生事件的元素:3. button:声明被按下的鼠标键,整数,1代表左键,2代表右键,4代表中键,如果按下多个键,酒把这些值加起来,所以3就代表左右键同时按下:(firefox中 0代表左键,1代表中间键,2代表右键)4. clientX/clientY:事件发生的时候,鼠标相对于浏览器窗口可视文档区域的左上…
代码取自于underscore.js 1.8.3的isEqual函数. 做了一些小小的修改,主要是Function的比较修改. 自己也加了一些代码解读. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js中两个对象的比较</title> <script> /* 需求难点描述: 数组和对象,都…
MVC中处理Json和JS中处理Json对象 ASP.NET MVC 很好的封装了Json,本文介绍MVC中处理Json和JS中处理Json对象,并提供详细的示例代码供参考. MVC中已经很好的封装了Json,让我们很方便的进行操作,而不像JS中那么复杂了. 方法一 MVC中: public JsonResult Test() { JsonResult json = new JsonResult{ Data = new{ Name = "zzl", Sex = "male&q…
JSON一种简单的数据格式,比xml更轻巧,在JavaScript中处理JSON数据不需要任何特殊的API或工具包,下面为大家详细介绍下js中的json对象, 1.JSON(JavaScript Object Notation)一种简单的数据格式,比xml更轻巧.JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包. JSON的规则很简单:对象是一个无序的“‘名称:值'对”集合.一个对象以“{”(左括号)开始,“}”(右括号)结束…
JavaScript -- 知识点回顾篇(五):js中的 Date 对象的方法 Date 对象: 用于处理日期和时间. 1. Date对象的方法 <script type="text/javascript"> document.write('Date()方法:<br/>'); document.write(Date()); // 返回当日的日期和时间. document.write('<br/><br/>'); var d1=new Da…
JavaScript -- 知识点回顾篇(四):js中的 Math 对象的属性和方法 1. Math 对象的属性 (1) E :返回算术常量 e,即自然对数的底数(约等于2.718). (2) LN2 :返回 2 的自然对数(约等于0.693). (3) LN10 :返回 10 的自然对数(约等于2.302). (4) LOG2E :返回以 2 为底的 e 的对数(约等于 1.443). (5) LOG10E :返回以 10 为底的 e 的对数(约等于0.434). (6) PI :返回圆周率(…