null == 0; // false
undefined == ""; // false
null == false; // false
undefined == false; // false
null == undefined; // true 尽管如此,和其他相似之处,但null和undefined并不是等价的。每个作为其独特的类型的唯一成员,undefined是Undefined类型和null是Null类型。使用全等操作符(===)比较这两个值,这要求类型和值都相等,下面证明这一点:undefined === null; // false 这是一个重要的区别,服务于不同的目的和理由。区分这两个值,你可以认为undefined代表一个意想不到的没有值而null作为预期没有值的代表。var foo; // 默认值为 undefined 当试图访问一个不存在的对象属性或数组项时,返回一个undefined值:var array = [1, 2, 3];
var foo = array.foo; // foo 属性不存在, 返回 undefined
var item = array[5]; // 数组中没有索引为5的项,返回 undefined 如果省略了函数的返回语句,返回undefined:var value = (function(){})(); // 返回 undefined 函数调用时未提供的值结果将为undefined参数值:(function(undefined){
// 参数是 undefined
})(); void操作符也可以返回一个undefined值。像Underscore的库使用它作为一个防御式的类型检查,因为它是不可变的,可以在任何上下文依赖返回undefined:function isUndefined(obj){
return obj === void 0;
} 最后,undefined是一个预定义的全局变量(不像null关键字)初始化为undefined值:undefined' in window; // true ECMAscObject.prototype.toString.call(null); // [object Null]
Object.prototype.toString.call(undefined); // [object Undefined] 然而,obThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。