变量
定义一个变量:var message; var message ="hi";在此,变量message保存了字符串值“hi”。像这样初始化变量不会去标记一个字符串类型;初始化过程就是个变量赋一个值那么简单,我们可以随时改变这个变量值的类型,不需要强制类型转化。
function test(){ var message ="hi" } test(); alert(message);//错误获取不到;
用var操作符定义的变量将成为定义该变量的作用于中的局部变量,也就是说,如果在函数中使用var定义一个变量,那么这个变量在函数退出后就会被销毁;
上述例子,当函数被调用时,就会创建该变量并为其赋值。而在此之后 ,这个变量又会立即被销毁;如果省略了var,就会变成了全局变量;
type 操作符;这个操作过后返回一个字符串;
"undefined" -- 如果这个值未定义;
"boolean"-- 如果这个值是布尔值
"String"--如果这个值是字符串
"number"--如果这个值是数值
"object"--如果这个值是对象或null
"function"--如果这个值函数
是javascript亦含有五种基本的数据类型(也可以说是简单数据类型),它们分别是:Undefined,Null,Boolean,Number和String。
1.undefined 类型只有一个值,即特殊的undefined这个值,在使用了var声明了变量但是未对它赋值;
var message alert(message == undefined) //true
2.Null 类型是第二个只有一个值的类型;这个特殊的值是null;从逻辑上看,null表示一个空对象指针;
var test= nul; alert(tyypeof(test)); //object
如果声明一个变量,想把定义成一个对象,就可以写成 var objecname = null;
3.bollean 有两个值 true 和false;
其他类型的值 可以通过转换的到相应的bollean 值;转换规则,大概可以简述为,如果是0或者空,就是为false,相反,就是为真;
4.Number类型; javascript为了支持各种数值类型,定义了不同数值字面量格式。
5.String 类型;
字符串可以由单引号或双引号表示,在Javascript中这两种引号是等价的,如:
var name = ‘jwy’;
var author = “jwy”;
字符串可以直接用字面量赋值。任何字符串的长度都可以通过访问气length属性获得;
var name=”jwy”;
name = “jwy”+” study javascript”;
这里一开始name是保存字符串”jwy”的,第二行代码则将“jwy”+” study javascript”; 值重新赋给name,它先床架一个能容纳这个长度的新字符串,然后填充,销毁原来的字符串。
var age=11; var ageToString =age.toString();//”11”
数值、布尔值、对象和字符串值都有toString(),但是null和undefined值没有这个方法。
一般来说,调用toString()方法不必传递参数,但是,在调用数值的toString方法时,可以传递一个参数,用来指定要输出的数值的基数(看是要输出十进制、二进制、八进制、十六进制表示)
二.引用类型:对象;
Object类型是Javascript引用类型的鼻祖了,(就跟在C#和Java中是一样的道理),在创建Object类型的实例后可以为其添加属性和方法,
var o = new Object;//有效,不推荐
var o =new Object();
复制代码
在Javascript中,Object类型所具有的任何属性和方法也同样存在于更具体的对象中。每个实例都有如下的属性和方法,如下:
1、constructor ,保存着用于创建当前对象的函数。上面构造函数就是Object();
2、hasOwnProperty,用于检查给定的属性是否在当前对象实例中,是就true,不是在实例中,而是在原型中,则是false;
3、isPrototypeOf,用于检查传入的对象是否是另一个对象的原型
4、propertyIsEnumerable,用于检查给定的属性是否能够使用for…in语句来枚举,
5、toString,返回对象的字符串表示
6、valueOf,返回对象的字符串、数值或布尔值表示,通常与toString方法返回值相同
以上就是Object所具有的属性和方法,所有对象都会因为继承关系而继承这些属性和方法。
包装对象;
javascript 有一个隐藏的机制;
var a ="string" alert(a.length) //6 a.t =3; alert(a.t)//undefined;