ECMAScript中有5种简单的数据类型:Undefined,Null,Boolean,Number,String,Object
1、可通过typeof操作符来判断该变量的数据类型,
- 1.1、如果这个值未定义---undefined
- 1.2、如果这个值是布尔值---boolean
- 1.3、如果这个值为字符串---string
- 1.4、如果这个值未数值---number
- 1.5、如果这个值为对象或null---object
- 1.6、如果这个值为函数---function
- 1.7、在检测引用类型是,改操作符作用不大,应使用instanceof, result=variable instanceof constructor
2、数值转换
- 2.1、Number():转换任何的数据类型:
- 如果转换值为undefined,返回NaN,转换的为字符串,如果存在非数值的字符,返回NaN,如果是对象,则先调用valueof,转换改函数返回的值,如果转换的值为NaN,则调用stringof,转换改函数返回的值。
- 2.2、parseInt()和parseFloat():将字符串转换为数值
- parseInt(转换的字符串,转换的进制),parseFloat(转换的字符串)以第一个小数点为准
- 2.3、toString(转换的进制【可选】)
- 将数值转换成字符串格式
3、Object对象
Object的每个实例都具有下列属性和方法:
- 3.1 constructor---保存着用于创建当前对象的函数
- 3.2 hasOwnProperty(propertyName)--用户检查给定的属性在当前对象实例中(而不是实例的原型中)是否存在
- 3.3 isPrototypeOf(Object)--用户检查传入的对象是否是另一个对象的原型
- 3.4 propertyIsEnumerable(propertyName)--用户检查给定的属性是否能够使用for-in语句来枚举
- 3.5 toString()--返回对象字符串的表示
- 3.6 valueOf()--返回对象的字符串、数值或布尔值的表示
4、Array对象
- 4.1 --push()接收任意数量的参数,把他们逐个添加到数组末尾,并返回该数组的长度
- 4.2 --pop()将数组的最后一项移出并返回该项
- 4.3 --shift()y移除数组中的第一项并返回该项
- 4.4 --unshift()在数组前端添加任意项并返回新数组的长度
- 4.5 --sort(function(x,y))排序
- 4.6 --reverse()反转数组的顺序
- 4.7 --concat() 先创建当前数组的副本,然后将接收到的参数添加的这个副本的末尾
- 4.8 --slice()截取数组,接收一个或俩个参数,及返回想的起始和结束位置
- 4.9 --splice(0,2)删除数组,接收俩个参数,删除第一项的位置和要删除的项数
- 4.10 --splice(2,0,..)接收三个参数:起始位置,0,要参数的项
- 4.11 --splice(2,1,..)接收三个参数:起始位置,删除的项数,插入的任意数量的项数
5、RegExp对象
创建正则表达式方法:var expression=/pattern/flags; flags=g【表示全局模式】|i【不区分大小写】|m【表示多行】
- 5.1RegExp实例属性
global--布尔值 是否设置了g标志
ignoreCase-布尔值 是否设置了I标志
lastIndex--整数 表示开始搜素下一个匹配项的字符位置
multiline--布尔值 表示是否设置了m标志
source--正则表达式的字符串表示
input--最经一次要匹配的字符串
lastMatch--最经一次的匹配项
lastParen--最经一次匹配的捕获组
leftContext--input字符串中lastMatch之前的文本
rightContext--input字符串中lastMatch之后的文本
- exec()专门伟捕获组而设计
如果没有匹配项的情况下返回null,返回的捕获组array数组,但包含俩个额外的熟悉:index和input,index表示匹配字符串的位置,而input表示应用正则表达式的字符串,在数组中,第一项是与整个模式匹配的字符串,其他项是与模式中的捕获组匹配的字符串,如果没有捕获组,则该数组只包含一项
- test()判断是否匹配正则表达式
接收一个字符串参数,在模式和该参数匹配的的情况下返回true
6、FUNCTION
函数内部属性:arguments和this
callee:arguments的熟悉,指向拥有这个arguments对象的函数
函数属性:length(函数希望接受的命名参数的个数)
函数方法:apply():接受俩个参数:一个是在其中运行函数的作用域,另一个是参数数组
call():和apply一样,但传递给参数的参数必须列举出来