js数据类型

js数据类型:字符串(String),数字(Number),布尔(Boolean),数组(Array),对象(Object),空(Null),未定义(Undefined)

    var x;               // x 为 undefined
  var x = 5;           // 现在 x 为数字

  js对象的创建的8种方法:http://www.imooc.com/article/1665

字符串可以是对象

通常, JavaScript 字符串是原始值,可以使用字符创建: var firstName = "John"

但我们也可以使用 new 关键字将字符串定义为一个对象: var firstName = new String("John")

实例

var x = "John";
var y = new String("John");
typeof x // 返回 String
typeof y // 返回 Object

尝试一下 »

Note不要创建 String 对象。它会拖慢执行速度,并可能产生其他副作用:

实例

var x = "John";              
var y = new String("John");
(x === y) // 结果为 false,因为是字符串,y 是对象

尝试一下 »

=== 为绝对相等,即数据类型与值都必须相等。



字符串属性

属性 描述
constructor 返回创建字符串属性的函数
length 返回字符串的长度
prototype 允许您向对象添加属性和方法


字符串方法

更多方法实例可以参见:JavaScript String 对象

方法 描述
charAt() 返回指定索引位置的字符
charCodeAt() 返回指定索引位置字符的 Unicode 值
concat() 连接两个或多个字符串,返回连接后的字符串
fromCharCode() 将 Unicode 转换为字符串
indexOf() 返回字符串中检索指定字符第一次出现的位置
lastIndexOf() 返回字符串中检索指定字符最后一次出现的位置
localeCompare() 用本地特定的顺序来比较两个字符串
match() 找到一个或多个正则表达式的匹配
replace() 替换与正则表达式匹配的子串
search() 检索与正则表达式相匹配的值
slice() 提取字符串的片断,并在新的字符串中返回被提取的部分
split() 把字符串分割为子字符串数组
substr() 从起始索引号提取字符串中指定数目的字符
substring() 提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase() 根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase() 根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLowerCase() 把字符串转换为小写
toString() 返回字符串对象值
toUpperCase() 把字符串转换为大写
trim() 移除字符串首尾空白
valueOf() 返回某个字符串对象的原始值

JavaScript typeof, null, 和 undefined


JavaScript typeof, null, undefined, valueOf()。


typeof 操作符

你可以使用 typeof 操作符来检测变量的数据类型。

实例

typeof  "John"                 // 返回 string 
typeof  3.14                   // 返回 number
typeof  false                  // 返回 boolean
typeof [ 1, 2, 3, 4]              // 返回 object
typeof {name: 'John', age:34}  // 返回 object

尝试一下 »

Note 在JavaScript中,数组是一种特殊的对象类型。 因此 typeof [1,2,3,4] 返回 object。 


Null

在 JavaScript 中 null 表示 "什么都没有"。

null是一个只有一个值的特殊类型。表示一个空对象引用。

Note用 typeof 检测 null 返回是object。

你可以设置为 null 来清空对象:

实例

var person =  null;            // 值为 null(空), 但类型为对象

尝试一下 »

你可以设置为 undefined 来清空对象:

实例

var person = undefined;      // 值为 undefined, 类型为 undefined

尝试一下 »


Undefined

在 JavaScript 中, undefined 是一个没有设置值的变量。

typeof 一个没有值的变量会返回 undefined

实例

var person;                   // 值为 null(空), 但仍然是一个对象

尝试一下 »

任何变量都可以通过设置值为 undefined 来清空。 类型为 undefined.

实例

person = undefined;           // 值为 undefined, 类型是undefined

尝试一下 »


Undefined 和 Null 的区别

typeof undefined              // undefined
typeof  null                   // object
null === undefined            // false
null == undefined             // true

尝试一下 »

自动转换类型

当 JavaScript 尝试操作一个 "错误" 的数据类型时,会自动转换为 "正确" 的数据类型。

以下输出结果不是你所期望的:

5 +  null     // 返回 5         null 转换为 0
"5" +  null   // 返回"5null"   null 转换为 "null"
"5" +  1      // 返回 "51"      1 转换为 "1"  
"5" -  1      // 返回 4         "5" 转换为 5

自动转换为字符串

当你尝试输出一个对象或一个变量时 JavaScript 会自动调用变量的 toString() 方法



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值