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 ...
随机推荐
- Quantitative Startegies for Achieving Alpha(二)
Chapter 3 The Day-To-Day Drivers Of Stock Market Returns Summary: (1) Earning growth is the primary ...
- Oracle Between子句
Oracle Between子句 作者:初生不惑 Oracle基础 评论:0 条 Oracle技术QQ群:175248146 在本教程中,您将学习如何使用Oracle BETWEEN运算符来选择值在一 ...
- HTML,CSS,JavaScript的思维导图
一个思维导图是把抽象的事物具体化,以一个东西为思想核心内容,映射出一系列的组成及作用 影响的内容. HTML的思维导图 HTML是一种超文本标记语言.我认为要学习一门语言首先要知道其是什么,编辑工具是 ...
- win10 1903
Windows 10 v1903/19H1 and Windows Server 2019 v1903/19H1 will hang or BSOD during power-on when vIOM ...
- CMakeLists.txt 语法
命令不区分大小写(参数区分大小写) add_executable(demo main.cpp main.h main.rc) 用main.cpp源文件,main.h文件,main.rc文件构造可执行文 ...
- xml json mongo
w wuser@ubuntu:~/apiamzpy$ sudo pip install xmljson
- 查看在linux中下载的图片
1.安装 yum install lrzsz -y 2.找到文件所在的位置选中之后 3.点击那个蓝色的框框里面有一个 用ZMODEM下载 4.选择要保存的位置就可以查看了
- apache配置补充
apache的安装: 分成三种方式: tar包 rpm安装 yum安装. ============ tar包安装 ======================== 下载.tar.gz的安装包 解压和安 ...
- PEP8中文版 -- Python编码风格指南
Python部落组织翻译, 禁止转载 目录 缩进 制表符还是空格? 行的最大长度 空行 源文件编码 导入 无法忍受的 其 ...
- 解决Nginx反向代理不会自动对特殊字符进行编码的问题 如gitblit中的~波浪线
问题起因是利用Nginx做反向代理的时候,需要访问如下链接http://192.168.14.141/iserver/services/3D-0524hd/rest/realspace/datas/0 ...