JS对象总结
JS对象总结
复习:
1.1 JS中对象有三种:内置对象(数组Array对象、String字符串对象、RegExp正则表达式对象、Math对象)、
宿主对象(JS脚本所在的运行环境,目前我们讲的脚本在浏览器中运行,所以浏览器对象对象就是宿主对 象)、自定义对象(由大括号包裹的名值对)
对象是特性与功能的集合,特性在js中就是对象的属性,功能在js中就是对象的方法(函数);
对象调用属性和方法的方式:
对象.属性 或 对象[“属性”]
对象.方法名()
1.1 所学内置对象如下
Math对象:
用来执行数学运算;Math将自己本身作为对象
Math对象的属性:
PI 获取圆周率
Math对象的方法:
abs() 获取绝对值
max() 获取最大值
min() 获取最小值
ceil() 向上取整
floor() 向下取整
round() 四舍五入
random() 获取0-1之间的随机数
pow(x,y) 获取x的次幂
sqrt() 获取某个数的开平方根
Array对象:
存储多条数据,数组中可以存储各种数据类型的数据。
对象的创建方式:
字面量 var arr = []
new关键字 var arr = new Array();
对象的属性
constructor 获取构造函数
length 获取数组元素的个数
prototype 获取原型对象
对象的方法
concat() 拼接一个或多个数组元素
indexOf() 获取元素在数组中第一次出现索引位置
lastIndexOf() 获取元素在数组中最后一次出现的索引位置
toString() 将数组转为字符串,默认逗号隔开
join() 将数组按照指定的分隔符转为字符串,省略参数默认逗号分隔
slice() 选取指定索引之间的元素,返回新的数组
unshift() 向数组的起始位置添加一个或多个元素
shift() 删除数组中第一个元素
push() 向数组的末位添加一个或多个数组元素
pop() 删除数组中的最后一个元素
splice() 删除指定索引处指定个数的元素,并追加新的元素
reverse() 数组的反转
sort(callbackfn) 按照指定规则进行排序,默认按照ASCII码逐个比较
数组遍历
普通for循环
for...in循环
forEach(callbackfn(value,index,array))
字符串String对象
用来处理文本字符串的API
对象的创建:
字面量 var str = “”
new关键字 var str = new String()
对象的属性:
constructor 获取构造函数
length 获取字符串的长度
prototype 获取原型对象
对象的方法:
concat() 拼接一个或多个字符串
split() 将字符串按照指定分隔符切割成指定长度的数组
indexOf() 查找字符串片段在字符串第一次出现的索引位置
lastIndexOf() 查找字符串片段在字符串最后一次出现的索引位置
charAt() 获取指定索引处的字符
slice() 选取指定索引之间的字符串片段
subString() 选取指定索引之间的字符串片段
subStr() 选取指定索引处指定数量的字符串片段
toUpperCase() 将所有英文字母转换为大写
toLowerCase() 将所有英文字母转换为小写
trim() 去除字符串两边的空白
正则表达式RegExp对象
检查字符串是否符合某种规则
对象的创建方式
字面量 var patt = /匹配规则/修饰符;
new关键字 var patt = new RegExp(/匹配模式/,修饰符);
正则表达式中的方法
test() 检测某个字符串是否符合规则,返回布尔值
exec() 获取符合规则的字符串片段,第一次出现的索引,所在字符串组成的一个数组
字符串中可以使用正则表达式的方法
split() 字符串切割
search() 查找指定字符第一次出现的索引
match() 获取符合规则的字符串片段,第一次出现的索引,所在字符串组成的一个数组
如果正则表达式执行全局匹配,返回的是匹配到的值组成的数组
replace() 查找符合规则的字符串片段,并用新的字符串片段替换
修饰符
g 执行全局匹配
i 忽略大小写匹配
m 执行多行匹配
元字符 具有特殊意义的字符串
. 匹配所有的字符(除了换行符和行结束符)
\d 匹配所有的数字
\D 匹配所有的非数组
\s 匹配所有空白字符
\S 匹配所有非空白字符
......
匹配模式
[0-9] 匹配所有的数字
[A-Z] 匹配所有大写字母
[a-z] 匹配所有小写字母
[abc] 匹配中括号中任意一个字符
[^abc] 匹配中不含有括号中任意一个字符
量词
^ 以指定规则开头
$ 以指定规则结尾
{x} 匹配x个指定规则
{x,} 匹配至少x个指定规则
{x,y} 匹配x-y之间任意多个指定规则
n+ 匹配一个或多个
n* 匹配0个或多个
n? 匹配0个或者只有一个
.......
补充:小括号的作用
1) 限定选择范围
2) 限定量词范围
3) 反向引用 反向引用使用小括号编号后,可以使用RegExp.$编号获取
var patt = /abc/;
console.log(patt.test('abc'));//true
console.log(patt.test('xyzabcuvw'));//true
patt = /(a)(b)(c)\1\2\3/;
console.log(patt.test('abc'));//false
console.log(patt.test('xyzabcuvw'));//false
console.log(patt.test('xyzabcabcuvw'));//true
console.log(patt.test('xyzabcuvwabc'));//false
console.log(RegExp.$1);
console.log(RegExp.$2);
console.log(RegExp.$3);
JS对象总结的更多相关文章
- JS对象继承篇
JS对象继承篇 ECMAScript只支持实现继承,而且其实现继承主要是依靠原型链来实现的 原型链 其基本思路是利用原型让一个引用类型继承另一个引用类型的属性和方法 function Person() ...
- JS 对象封装的常用方式
JS是一门面向对象语言,其对象是用prototype属性来模拟的,下面,来看看如何封装JS对象. 常规封装 function Person (name,age,sex){ this.name = na ...
- JSON字符串和JS对象之间的转换
JSON字符串和JS对象之间的转换 1 json字符串转换为js对象 1.1 标准json格式字符串转换为Js对象 JSON字符串 str JSON.parse(str) eval(str) eva ...
- js 对象的_proto_
js 对象呢,有个属性叫_proto_,以前没听说过,也没关注,最近看这个原型,就被迫知道了这个东西,js 这里面的东西,真是规定的很奇怪,具体为啥也不知道,就测试发现的,对象的_proto_属性,和 ...
- js对象/数组深度复制
今天碰到个问题,js对象.数组深度复制:之前有见过类似的,不过没有实现函数复制,今晚想了一下,实现代码如下: function clone(obj) { var a; if(obj instanceo ...
- js对象的深度克隆
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js对象详解
js自定义对象 一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在J ...
- js对象常用2中构造方法
//js 对象的构造方法通常有2中情况: //第一种是通过json对象构造 var persion={ name:"孙悟空", age:40, eat:function () { ...
- JS对象复制
在JavaScript很多人复制一个对象的时候都是直接用"=",因为大家都觉得脚本语言是没有指针.引用.地址之类的,所以直接用"="就可以把一个对象复制给另外一 ...
- js对象私有变量公有变量问题
0 js对象私有变量公有变量问题5 小弟初学JS面向对象编程 现有一问题 请教各位大虾: Person=function (){ //私有变量定义 var name; vae age; var Ale ...
随机推荐
- 在 centos7.5 使用 DockerFile 构建镜像时报错 "Error parsing reference:"microsoft/dotnet:2.2-aspnetcore-runtime AS base"is not a valid repository/tag: invalid reference format"
运行 dockerfile 时报出的错误 FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base Error parsing reference: & ...
- 【bzoj3195】【 [Jxoi2012]奇怪的道路】另类压缩的状压dp好题
(上不了p站我要死了) 啊啊,其实想清楚了还是挺简单的. Description 小宇从历史书上了解到一个古老的文明.这个文明在各个方面高度发达,交通方面也不例外.考古学家已经知道,这个文明在全盛时期 ...
- Leetcode 7. Reverse Integer(水)
7. Reverse Integer Easy Given a 32-bit signed integer, reverse digits of an integer. Example 1: Inpu ...
- div的文字倾斜
最近要写一个页面,需要一排文字是倾斜的,我就写了一下 <div class="qingx">倾斜导航</div> div.qingx{ -moz-trans ...
- D - Find Integer
D - Find Integer $a^{n}+b^{n}=c^{n}$ 给定a,n求解$b,c$ 三次以上没有整数解 #include<bits/stdc++.h> using name ...
- [CSP-S模拟测试]:大佬(kat)(数学期望)
题目描述 辣鸡$ljh\ NOI$之后就退役了,然后就滚去学文化课了.他发现$katarina$大佬真是太强了,于是就学习了一下$katarina$大佬的做题方法.比如这是一本有$n$道题的练习册,$ ...
- Ubuntu 系统搭建LNMP环境
当前Linux版本:Ubuntu16.04 一.安装Nginx 在终端中输入命令 " sudo apt-get install nginx ",在确认安装完成后,在浏览器中访问 l ...
- 圆角Panel
using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostic ...
- python使用__new__创建一个单例模式(单例对象)
#单例模式:使一个类只产生一个对象.他们的id地址都指向同一个内存地址 第一步:理解谁创建了对象 # 单例模式# 首先明白,我们在创建一个类的对象的时候,其实是调用的这个类的父类,即继承object, ...
- python-笔记(三)文件操作
文件的操作一般分三步: 1.打开文件,获取文件的指针(句柄) 2.通过指针(句柄)操作文件 3.关闭文件 现在有以下文件: 我们为爱还在学 学沟通的语言 学着谅解 学着不流泪 等到我们学会飞 飞越黑夜 ...