内置对象:对象是由属性和方法组成的,使用点语法访问
数组用于存储若干数据,自动为每位数据分配下标,从0开始
数组中的元素不限数据类型,长度可以动态调整
动态操作数组元素 :根据元素下标读取或修改数组元素,arr[index]
属性 : length 表示数组长度,可读可写
方法 :
push(data) :在数组的末尾添加一个或多个元素,多个元素之间使用逗号隔开 返回添加之后的数组长度
pop() :移除末尾元素 ,返回被移除的元素
unshift(data) :在数组的头部添加一个或多个元素 ,返回添加之后的数组长度
shift() :移除数组的第一个元素 ,返回被移除的元素
splice():删除指定位置和长度的元素,返回被删除的元素
toString() :将数组转换成字符串类型, 返回字符串结果
join(param) :将数组转换成字符串,可以指定元素之间的连接符,如果参数省略,默认按照逗号连接 ,返回字符串
reverse() :反转数组,倒序重排 ,返回重排的数组,注意该方法直接修改原数组的结构
sort() :对数组中元素排序,默认按照Unicode编码升序排列 ,返回重排后的数组,直接修改原有数组 参数 : 可选,自定义排序算法
例:
//自定义升序
function sortASC(a,b){
return a-b;
}
// 作用:作为参数传递到sort()中,会自动传入两个元素进行比较,如果a-b>0,交换元素的值,自定义升序排列
//自定义降序
function sortDESC(a,b){
return b-a;
}
//如果返回值>0,交换元素的值,b-a表示降序排列
数组中的每个元素又是数组
var arr1 = [1,2,3]; //普通数组
var arr2 = [[1,2],[3,4],[5,6,7]]; //二维数组,数组里面又包含数组
arr2[0][0]
arr2[0][1]
arr2[1][0]
arr2[1][1]
arr2[2][0]
arr2[2][1]
//操作数组元素
var r1 = arr2[0] //内层数组
var num = r1[0]; //值 1
//简写
var num2 = arr2[1][0];
1. 创建
var str = "100";
var str2 = new String("hello");
2. 特点:字符串采用数组结构存储每位字符,自动为字符分配下标,从0开始
3. 属性:
length :获取字符串长度
4. 方法
1,转换字母大小写 :
toUpperCase() 转大写字母
toLowerCase() 转小写字母
返回转换后的字符串,不影响原始字符串
2,获取字符或字符编码:
charAt(index) 获取指定下标的字符
charCodeAt(index) 获取指定下标的字符编码
参数为指定的下标,可以省略,默认为0
3,获取指定字符的下标:
indexOf(str,fromIndex) 作用 : 获取指定字符的下标,,前向后查询,找到即返回
参数 : str 表示要查找的字符串,必填 fromIndex 表示起始下标,默认为0 返回 : 返回指定字符的下标,查找失败返回-1
lastIndexOf(str,fromIndex) 作用 : 获取指定字符最后一次出现的下标,从后向前查找,找到即返回
参数 : str 必填,表示要查找的内容 fromIndex 选填,指定起始下标
4,截取字符串
substring(startIndex,endIndex) 作用 : 根据指定的下标范围截取字符串,startIndex ~ endIndex-1
参数 : startIndex 表示起始下标 endIndex 表示结束下标,可以省略,省略表示截止末尾
substr(startIndex,len)
作用:根据下标截取指定的字符串
5,分割字符串
split(param) 作用 : 将字符串按照指定的字符进行分割,以数组形式返回分割结果
参数 : 指定分隔符,必须是字符串中存在的字符,如果字符串中不存在,分割失败,仍然返回数组
6,模式匹配
正则表达式对象:RegExp
RegExp : Regualr Expression
语法:
var reg1 = /微软/ig;
var reg2 = new RegExp('匹配模式','修饰符');
正则表达式对象可以接收一个变量。
属性 :
lastIndex : 可读可写,表示下一次匹配的起始索引
注意 :
1,默认情况下,正则表达式对象不能重复调用方法,
如果重复调用,结果会出错: 由于 lastIndex 保存再一次匹配的起始下标,
重复调用时,不能保证每次都从下标0开始 验证,可以手动调整 lastIndex 为 0。
2,只有正则对象设置全局匹配 g ,该属性才起作用。
方法 :
方法:
test(str) :验证字符串中是否存在满足正则匹配模式的内容,存在则返回true,
不存在返回false参数为要验证的字符串。
作用 : 借助正则表达式实现字符串中固定格式内容的查找和替换
正则表达式 : var reg1 = /字符模式/修饰符;
修饰符 : i : ignorecase 忽略大小写 g : global 全局范围
字符串方法 :
match(regExp/subStr)
作用 : 查找字符串中满足正则格式或满足指定字符串的内容 返回 : 数组,存放查找结果
replace(regExp/subStr,newStr)
作用 : 根据正则表达式或字符串查找相关内容并进行替换 返回 : 替换后的字符串,不影响原始字符串。
1. 定义:
Math对象主要提供一些列数学运算的方法
2. 属性:
属性:
圆周率 : Math.PI
自然对数 : Math.E
3. 方法:
Math.random(); 生成0-1之间的随机数
Math.ceil(x); 对x向上取整,忽略小数位,整数位+1
Math.floor(x); 对x向下取整,舍弃小数位,保留整数位
Math.round(x); 对x四舍五入取整数
1. 创建日期对象
var date2 = new Date("2011/11/11");
var date3 = new Date("2011/11/11 11:11:11");
2. 日期对象方法
读取或设置当前时间的毫秒数:getTime()
获取时间分量
getFullYear()
getMonth()
getDate()
ECMA-262把对象定义为:”无需属性的集合,其属性可以包含基本值、对象或者函数。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。正因为这样,我们可以把ECMAScript的对象想象成散列表:无非就是一组名对值,其中值可以是数据或函数。
这篇文章讲解Js数组和对象的一些使用技巧,如何将不同的数组,对象合并/结合为1个的方法
在JavaScript中可以使用 . 或者 [ ] 来访问对象的属性,但是对象中方法只能通过 . 来获取;使用.运算符来存取对象的属性的值。或者使用[]作为一个关联数组来存取对象的属性。但是这两种方式有什么区别了?
对象使用obj.length时,它得到的值是undefined的,所以只能通过for...in循环获取对象的属性,我们发现并没有按属性的顺序显示,而且顺序在各个浏览器下显示也不同。 这是为什么呢?
JS声明对象时属性名加引号与不加引号的问题,一般情况下属性名加引号和不加引号是都可以的,效果是一样的。如果属性名是数字,则必须用“”包围,并且用 [] 方括号访问。
javascript的原生对象:也叫内部对象、本地对象、native object;内置对象:Global(全局对象)、Math ;宿主对象:有宿主提供的对象,在浏览器中window对象以及其下边所有的子对象(如bom、dom等等),在node中是globla及其子对象,也包含自定义的类对象。
判断对象中是否有某属性的常见方式总结,不同的场景要使用不同的方式。一点( . )或者方括号( [ ] )、二in 运算符、三hasOwnProperty()。三种方式各有优缺点,不同的场景使用不同的方式,有时还需要结合使用
error,指程序中的非正常运行状态,在其他编程语言中称为“异常”或“错误”。解释器会为每个错误情形创建并抛出一个Error对象,其中包含错误的描述信息。
由于JavaScript的灵活性,我们可以轻易地重写(override)一些于其他人定义的对象(object)。换句话说,任何人都可以重写我们所定义的对象。这是一个非常强大的特性,许多开发者都有兴趣试试,来拓展或者修改某些对象的行为。
虽然现在已经是ES6的时代,但是,还是有必要了解下ES5是怎么写一个类的。本文详述JavaScript面向对象编程中的类写法,并分步骤讲述如何写出优雅的类。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!