JavaScript作为弱类型的脚本语言,其应用范围之广(无论后台是Java或C#,因为其作用于客户端),且灵活至极,很难以深入掌握。作为开篇,从其中较易混淆的两个地方(类型和对象)加以阐释(我认为的,呵呵),以巩固JS基础:
JS类型:
JS共有9中类型,依次为:未定义型(Undefined)、空(Null)、布尔(Boolean)、字符串(String)、数值(Number)、对象(Object)、引用(Reference)、列表(List)和完成(Completion)。
这里主要对String,即字符串类型这一特殊类型做解释:字符串作为JS中一种单独的数据类型,其对应于一种内置对象:String对象。 其兼具一般类型和对象类型的一些特点。
function
StringExp()
{
// 字符串类型可以用如下三种方式:
var strDemo1 = " I am Yangmingming " ;
var strDemo2 = ' I am Yangmingming too ' ;
var strDemo3 = new String ( " I am Yangmingming ? " );
// 在本质上,都是将String对象赋予一同类型的引用, 然而通过Typeof的表现却不同:
alert ( typeof (strDemo1 ));
alert ( typeof (strDemo2 ));
alert ( typeof (strDemo3 ));
}
{
// 字符串类型可以用如下三种方式:
var strDemo1 = " I am Yangmingming " ;
var strDemo2 = ' I am Yangmingming too ' ;
var strDemo3 = new String ( " I am Yangmingming ? " );
// 在本质上,都是将String对象赋予一同类型的引用, 然而通过Typeof的表现却不同:
alert ( typeof (strDemo1 ));
alert ( typeof (strDemo2 ));
alert ( typeof (strDemo3 ));
}
由弹出框可见,前两个为string,后一个为object:如下图示:
这可能与string变量的不同声明方式有关(一个以一般类型变量形式声明,一个以对象方式声明) 。