js 基础 -- 基本数据类型

基本数据类型

数字:number
字符串:string
布尔:boolean

数组:array
对象:object

空:null
未定义:undefined

undefined

使用var声明变量,但未初始化。(只声明,不赋值)
区分空对象指针与尚未定义的变量对未初始化的变量及未声明的变量使用 type of 运算符均会返回 undefined

null

逻辑上 null 表示一个空对象,使用type of 检测时会返回object ,
表示一个变量有值但值无任何含义。
undefoned派生自null。

boolean

true 为真,false 为假。
true 不一定等于 1,
false 不一定等于 0 。
使用boolean()进行转换:
true:
任何非空字符串,
任何非零数值,
任何非空对象
false:
空字符串,
0 及 NaN,
null 及 undefined

number

数字直接量
1. 整型直接量,
2. 浮点型直接量
无穷大:Infinity , 负无穷:-Infinity
判断是否无穷:
例:var n = 1.2e10;
alert ( isFinite(n) ) ; true/false
判断是否为非数字 NaN:
例:var n = 123;
alert ( isNaN (n) ) ; true/false

算数运算:

+,-,*,/,%
加,减,乘,除,余

把一个值转化为整数
parseInt( ) —————直接去掉小数
Math.round( )———–进行四舍五入

指定小数个数进行四舍五入
to.Fixed( x ) ————-x 表示小数位数
如:1.268.toFixed(2) => 1.27

向上取整:去掉小数,整数加1
Math.ceil ( )

向下取整:去掉小数
Math.floor ( )

生成 0~1 的随机数 不含0 和 1
Math.random ( )

求绝对值
Math.abs ( )

返回最大,最小值
Math.max ( x,y,z )
Math.min ( x,y,z )

把字符串转换为数字
parseFloat ( )
例:var a = ‘123.123abc’;
parseFloat( a ) ; => 123.123
parseFloat( ‘abc’ ) ; => NaN

时间与日期

GMT是格林威治时间(世界通用时间)

创建一个日期时间
var date = new Date( );

创建指定的日期时间
var date = new date (‘2017-10-11 13:23:40’);
var date = new Date (2017,1,2,12,10,30);

转化为本地格式
xx.toLocaleString ( );

把日期部分转化为本地格式
xx.toLocaleDateString ( );
把时间部分转化为本地时间
xx.toLocaleTimeString ( );

获取设置年份
xx.getFullYear ( );
xx.setFullYear ( 2010 );

获取设置月份
xx.getMonth ( );
xx.setMonth ( 12 );

获取设置日(天)
xx.getDate ( );
xx.setDate ( );
超出该月的天数时向上累加月份。

获取星期(不能设置)
xx.getDay ( );

获取设置 时,分,秒,毫秒
xx.get/set……
Hours ( );
Minutes ( );
Seconds ( );
Milliseconds ( );

把日期时间转换为毫秒数
xx.getTime ( );
时间戳:1970年1月1日0时

string

由 0 个或多个字符组成的字符序列,用引号引起的一串字符就是字符串。
单双引号都可以,通常使用单引号。

转移符:“ \ ”
让有特殊含义的字符失去特殊意义。
\ n 换行, \ t 制表符, \ b 空格,
\ r 回车,\ f 换页符, \ \ 反斜线,
\ ’ 单引号,\ ” 双引号

字符串链接:” + ”
var a = “hello,” + “world”;
a => “hello,world”

字符串长度:xx.length

定义一个字符串:
var s = “hello,world”;

字符串查找:

索引查找:
s[0] => “h”,s[s.length - 1] => “d”

charAt()
返回字符串中的第n个字符
参数:索引值,超出返回空字符串
如:s.charAt (0) => “h”

charCodeAt ( )
返回字符串中第n个字符的代码(unicde编码)
参数:索引值,超出返回 NaN

substring ( )
返回截取的一段字符串
参数:1. 开始索引;2.结束索引(不含);

slice ( )
返回截取的一段字符串
情况一:参数:1. 开始索引;2.结束索引(不含);
情况二:参数:-n ,表示返回最后n个字符

substr ( )
返回截取的一段字符串
参数:1.开始索引,2.索引个数;

index of ( )
参数一:要查找的指定字符串
返回字符首次出现的索引,找不到时返回 -1
参数二:(可选)起始索引位置
返回指定索引位置后首次出现指定字符串的索引,找不到时返回 -1

last Index of ( )
同上,但索引方向改为 “从后往前”

链接字符串

concat ( )
参数:需要链接的字符串
返回一个新的字符串
还可以使用 “ + ”

全文字符替换

replice ( )
参数:1.被替换的字符,2.替换后的字符
如:s.replice( ’ h ’ , ’ H ’ ) => ” Hello,world “

空格处理

trim 清除前后空格
trimLeft 清除前置空格
trimRight 清除后缀空格

字符串比较

localeCompare ( )
用本地特定顺序比较两个字符串
参数:另一个字符串
返回值:
负数:原 < 参
0 :原 = 参
正数:原 > 参

字符串分割

split ( )
分割字符串成数组
参数:分割符号 如 ‘,’,‘ / ’……
例如:s.split (‘,’) => [‘hello’ , ‘world’]

大小写转换

转大写:
toUpperCase ( )
toLocaleUpperCase ( )
转小写:
toLowerCase ( )
toLocaleLowerCase ( )

编码、解码

字符串常规编码与解码
escape ( )
unescape ( )

URI 字符串编码与解码
encodeURI ( )
decodeURI ( )

URI 组件编码与解码
encodeURIComponent ( )
decodeURIComponent ( )

Array

数组:var arr = [10,20,30]
一个数组的直接量
数组用中括号 [ ] 表示
中括号中的每一个值称为该数组的‘ 元素 ’,之间使用‘,’隔开。
js 会自动给每一个元素创建一个编号,称之为‘ 索引 ’或‘ 下标 ’。
索引是从0开始的整数。
数组内的元素可以是任何类型,多个元素的类型可以不一样。
数组内元素的个数称为‘数组的长度’,可以通过 xx.length 来获取。

创建数组

空数组:var obj = new Array ( );
指定数组长度:增加参数 (数字)

指定元素数组:
var obj = new Array ( 10,20,30 );

单维数组:
var obj = [ 元素1,元素2,元素3 ];

多维数组:
var obj = [ [ 数组序列1 ], [ 数组序列2 ], [ 数组序列3 ] ];

数组属性

constructor 引用数组对象的构造函数。
length 返回数组的长度。
prototype 通过增加属性和方法扩展数组定义。

数组操作

存取数组元素:
单维数组:数组名 [ 索引 ]
多维数组:数组名 [ 外层索引 ] [ 内层索引 ]

特性:
数组长度是弹性的可伸缩的。
数组下标从 0 开始。
下标类型分:
1、数值
2、非数值:转为字符串;生成关联数组;下标将作为对象属性的名字
数组元素可添加到对象中。

增加数组元素
使用 [ ] 运算符指定一个新下标。
如:arr [ 10 ] = 50;

删除数组元素
delete 数组名 [ 索引 ];

遍历数组
for ( var 数组元素变量 in 数组名 ) { }

添加
push ( ) 在数组末尾添加元素
unshift ( ) 在数组头部添加元素
concat ( ) 合并两个数组

删除
pop ( ) 删除并返回最后一个元素,数组长度减一。
shift ( ) 删除并返回第一个元素,数组长度减一。
数组名 [ 索引 ] = null ,数组长度不变。
delete 数组名 [ 索引 ] ,数组长度不变。

splice ( )
情况一:删除任意数量的项
参数:
1、删除起始下标索引
2、要删除的个数
情况二:在指定位置插入指定的项
参数:
1、起始下标(指定位置)
2、0 (表示不删除任何项)
3、要插入的项
情况三:替换任意数量的项
1、起始下标
2、要删除的项数
3、要插入的项

slice ( )
截取元素组成新数组
参数:
1、开始索引
2、结束索引(不含)
如果是负数则用数组长度加上该值确定位置

indexOf ( )
查找指定的元素,返回对应的索引,无则返回 -1
1、要查找的元素
2、(可选)查找起始索引

lastIndexOf ( )
同上,查找方向改成从后向前

数组排序
reverse ( )
颠倒数组元素顺序
sort ( )
默认按字符串比较(编码)

数组转换
toString ( ) ,转换为字符串并返回
toLocaleString ( ) ,转为本地格式字符串
join ( ‘分隔符’ ) ,用指定分隔符分割数组并转换为字符串,默认分隔符为‘,’

缩小方法
reduce ,从前向后遍历
reduceRight ,从后向前遍历
接收参数:
1、每项上调用的函数
2、作为缩小基础的初始值
传入参数:
1、前一个值 prev
2、当前值 cur
3、项的索引 index
4、数组对象 array

迭代方法
every 如果该函数对每一项都返回true,则返回 true
filter 返回值为true的所有数组成员
forEarch 无返回值
map 返回每次函数调用的结果数组
some 有任意一项返回true,则返回 true
接收参数:
1、要在每一项上运行的函数
2、运行该函数的作用域对象
传入参数:
1、数组项的值 item
2、该项在数组中的位置 index
3、数组对象本身 array

Object

对象:和数组相似,使用 { } 来表示对象数据
{ } 内的值称为“属性”,一个对象可以有多个属性
属性是成对的:{ 属性名:属性值 }
属性名如果不带引号就必须写成一个合法的标识符
如果不合法则必须带引号
如 var obj = {‘@#’:2 };
和数组的区别就是数组的索引只能是整数,对象的属性名(索引)可以为字符串

对象声明

1、var obj = new Odject ( )
2、直接声明
var obj = { a:1; b:2; c:3; };
访问属性的值
obj.a / obj [‘a’]
如果属性名不是一个合法的标识符,必须使用 obj [‘xx’] 来访问

添加属性
如:obj.d = 4;
删除属性
delete obj.c;

对象属性的遍历只能用for…in
toString()返回对象的字符串表示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值