1、数据类型决定了一个数据的特征,限定了该数据类型必须按照一定的规则进行操作。
2、特定的数据类型会有其想对应的行为模式。
3、javascript中有6中数据类型
Number --数值型
boolean --布尔型
string --字符串型
Null --空
undefined --未定义
Object --对象型
4、值和对象的区别,数据类型的实例被称为“值”,Obj类型的实例被称为“对象”,不过javascript支持值与对象的隐式变换。
二、基本数据类型和引用数据类型
1、javascript变量可以分为基本数据类型变量和引用类型变量。
2、基本数据类型变量直接保存有数值等类型的数据值。
3、引用类型变量则保存有对象的引用
三、基本数据类型
1、字符串类型是javascript的基本数据类型
2、字符串值会被隐式地转换为字符串对象类型。
3、数值类型其内部构造为64位浮点小数。相当于其他语言中的duoble类型。
4、null类型的值只有null一种情况,null属于字面量。
5、undefined类型是指未定义的值的类型。
四、字符串型
1、字符串值可以通过字符串字面量来表示。
2、字符串字面量需要用双引号(" ")或者单引号(' ')
var s="abs";
document.write(s);
/*
输出:
abs
*/
var s='abs';
document.write(s);
/*
输出:
abs
*/
(1)、特殊字符可以通过转义字符串来表示。可以通过转义符之后使用特定字符,来表达一些特殊的含义
\n --换行
\t --水平制表
\b --退格
\r --换行
\f --换页
\v --垂直制表符
\\ --反斜杠
\' --单引号
\" --双引号
\xXX --以十六进制码表示一个字符
\uXXXX --以十六进制码表示一个Unicode字符
(2)、双引号和单引号除了有其各自的转义字符之外,功能上基本没有其他区别。
3、字符串运算
(1)、在=运算符右侧书写字符串值,能够将其赋值给位于等号左侧的变量
var s='abc';
var s2=s;
document.write(s2);
/*
输出:
abc
*/
(2)、字符串类型是不可变类型
(3)、可以通过+运算符来连接字符串值
var s1='012';
var s2='345';
var s3=s1+s2;
document.write(s3);
/*
输出:
012345
*/
(4)、+=运算符可以在连接字符串的同时进行赋值
var s='012';
var s2=s;
s+='345';
document.write(s2);
/*
输出:
012
*/
(5)、可以通过typeof运算符来获得知值的数据类型
document.write(typeof 'abc';);
/*
输出:
string
*/
------------------------------------------
var s='abc'
document.write( typeof s);
/*
输出:
string
*/
var s='abc';
document.write(typeof (s);)
/*
输出:
string
*/
------------------------------------------
document.write(typeof 'abc';)
/*
输出:
string
*/
------------------------------------------
document.write(typeof 'abc';)
/*
输出:
string
*/
------------------------------------------
document.write( typeof(typeof(s)) );
/*
输出:
string
*/
4、字符串型比较
(1)、javascript有两种等值运算符“===”和“==”。
(2)、两种不等值运算符“!==”和"!="。
(3)“===”在比较时不会对数据类型进行转换。
(4)“==”在比较是会对数据类型进行转换。
var s1='012';
var s2='0';
var s3=s1+'12';
s1==s3
>>true
s1!=s3
>>false
s1!==s3
>>false
(5)字符串比较时是基于UnIcode字符的编码表来比较的
var s1='abc';
var s2='def';
s1<s2
>>true
s1<=s2
>>true
s1>s2
>>false
s1>=s2
>>false
5、字符串类(string)
(1)、字符串类的名称为string。
(2)、字符串型和string类之间支持隐式类型转换。
var s='012';
document.write(s.length);
>>3
document.write('012'.length);
>>3
javascript中书写'012'.length的话(属于内建类型的)字符串会先被隐式地转换为字符串对象,然后在读取字符串对象的length属性。
参考书籍资料:
1、javascript编程全解http://www.ituring.com.cn/book/1140
2、javascript 岳英俊http://pan.baidu.com/s/1eQlegKE