javascript 有 5 种基本数据类型:undefined.null.Boolean.String.Number,还有1 种较复杂的数据类型 Object:各种类型之间可以相互转换,其中有些有趣的现象:本文通过这些现象,看看在这些数据转换中,有那些特点. 其中最特别的要数 Number 类型中的 NaN 了,它有两个特点:1.NaN 和任意数值进行算术操作时,返回的只能是 NaN:2.NaN 不等于任何值,包括 NaN 本身. NaN == NaN; //false NaN != NaN;…
上一篇以TDD方式介绍了数据类型转换公共操作类的开发,并提供了单元测试和实现代码,本文将演示通过扩展方法来增强公共操作类,以便调用时更加简化. 下面以字符串转换为List<Guid>为例进行讨论. string input = "83B0233C-A24F-49FD-8083-1337209EBC9A,EAB523C6-2FE7-47BE-89D5-C6D440C3033A"; var result = Util.Conv.ToGuidList( input ); 观察上面…
上一篇介绍了数据类型转换的一些情况,可以看出,如果不进行封装,有可能导致比较混乱的代码.本文通过TDD方式把数据类型转换公共操作类开发出来,并提供源码下载. 我们在 应用程序框架实战十一:创建VS解决方案与程序集 一文已经创建了解决方案,包含一个类库项目和一个单元测试项目.单元测试将使用.Net自带的 MsTest,另外通过Resharper工具来观察测试结果. 首先考虑我们期望的API长成什么样子.基于TDD开发,其中一个作用是帮助程序员设计期望的API,这称为意图导向编程. 因为数据类型转换…
本系列文章将介绍一些对初学者有帮助的辅助类,这些辅助类本身并没有什么稀奇之处,如何能发现需要封装它们可能更加重要,所谓授之以鱼不如授之以渔,掌握封装公共操作类的技巧才是关键,我会详细说明创建这些类的动机和思考过程,以帮助初学者发现和封装自己需要的东西.创建公共操作类的技巧,大家可以参考我的这篇文章——应用程序框架实战十二:公共操作类开发技巧(初学者必读). 封装公共操作类,不仅要把技术上困难的封装进来,还需要不断观察自己的代码,以找出哪些部分可以更加简化.本文将介绍一个容易被大家所忽视的东西——…
原文转自:http://javascript.ruanyifeng.com/grammar/conversion.html#rd JavaScript是一种动态类型语言,变量是没有类型的,可以随时赋予任意值.但是,数据本身和各种运算是有类型的,因此运算时变量需要转换类型.大多数情况下,这种数据类型转换是自动的,但是有时也需要手动强制转换. 强制转换 强制转换主要指使用Number.String和Boolean三个构造函数,手动将各种类型的值,转换成数字.字符串或者布尔值. Number函数:强制…
ECMAScirpt中的数据类型:undefined.Null.Boolean.Number.String.Object 对一个值使用typeof操作符可能返回下列某个字符串: number(数字).function(函数).Boolean(布尔值).string(字符串).object(对象或null).undefined(未定义) undefined类型: 在声明了变量但未对其加以初始化时,这个变量的值就是undefined Null类型: 它的特殊值就是null,null值表示一个空对象指…
一.数据类型 JS中有5中简单数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number.String.还有一种复杂数据类型------Object,Object本质是由一组无序的名值对组成的. 鉴于ECMAScript是松散类型的(可以给变量赋值为任意类型.),因此需要有一种手段来检测给定变量的数据类型----typeof就是负责提供这方面信息的操作符. 对一个值使用typeof操作符可能返回下列某个字符串: undefined----如果这个值未初始化或未声明…
数据类型转换 1.自动转换(在某种运算环境下) Number环境 String环境 Boolean环境 2.强制类型转换 Number() 字符串:纯数字和空字符转为正常数字,其他NaN 布尔值:ture=1,false=0 var str = "abc" console.log(typeof(str)); var num = Number(str); console.log(num); console.log(typeof(num)); console.log(""…
下表显示了将不同的JavaScript值转换为Number,String和Boolean的结果: 原始值 转换为Number 转换为String 转换为Boolean false 0 "false" false true 1 "true" true 0 0 "0" false 1 1 "1" true "0" 0 "0" true "1" 1 "1"…
(1)getAttribute:表示得到 域中的对象 返回的是OBJ类型;  getParameter:表示 得到 传递的参数 返回的是String类型; 也就是getAttribute获得的值需要进行强制类型转换成需要的类型,而getParameter总会获得字符串类型的值. (2)request.getAttribute():当两个web组件为转发关系时,通过getAttribute()和 setAttribute()来共享request范围内的数据.attrubute中的数据是Object…