内置对象,宿主对象,自定义对象的区别?
内置对象:
系统所提供的对象:Object,Array,Math,Date等等。
宿主对象:
JS所运行的环境提供的对象:BOM中的window,DOM中的document
自定义对象:
自定义构造函数所创建的对象 。
Array类型对象:
数组创建方式:
方式1:构造函数Array
// 语法:
var 数组名 = new Array(数据,数据,数据);
// 代码:
var names = new Array('张三','李四','王五','赵六');
方式2:数组字面量(推荐 )
// 语法:
var 数组名 = [数据,数据,数据]; // 数组字面量
// 代码:
var names = ['张三','李四','王五','赵六'];
数组对象常用的方法:
1.向前后数组添加元素:unshift()开头添加 push()末尾添加
// 向数组的开头添加一个或更多元素,并返回新的长度。【原数组会发生变化】
数组名.unshift(newelement1,newelement2,....,newelementX);
// 向数组的末尾添加一个或更多元素,并返回新的长度 【原数组会发生变化】
数组名.push(newelement1,newelement2,....,newelementX);
2从数组前后删除元素:shift()开头删除 pop() 末尾删除
// 删除并返回数组的第一个元素 【原数组会发生变化】
数组名.shift();
// 删除并返回数组的最后一个元素 【原数组会发生变化】
数组名.pop();
3.数组任意位置添加,删除 splice()
// 向/从数组中添加/删除项目,然后返回被删除的项目。【原数组会发生变化】
数组名.splice(index,howmany,item1,.....,itemX)
参数:
index 从哪个位置开始删 数字
howmany 删除几个 数字
item1,.....,itemX 新添加的数据(可以是多个) 可选
4.数组元素的查询 indexOf()第一个索引 lastIndexOf()最后一个索引
// 返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1
数组名.indexOf(searchElement); 【用的较多】
// 返回指定元素在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前查找
数组名.lastIndexOf(searchElement);
5.数组的反转和排序
// 颠倒数组中元素的顺序。 【原数组会发生变化】
数组名.reverse();
// 对数组的元素进行排序
数组名.sort(); // 默认排序顺序是根据字符串Unicode编码 【了解】
数组名.sort(function(a,b){ //【重点】
return a - b; // 升序(从小到大)
})
数组名.sort(function(a,b){ //【重点】
return a - b; // 升序(从小到大)
})
数组名.sort(function(a,b){ //【重点】
return b - a; // 降序(从大到小)
})
6.数组截取 slice() 和splice()区分开
// 从已有的数组中返回选定的元素。【截取后,不会改变原数组,而是返回新的数组】
数组名.slice(start,end);
7.数组的拼接 join(‘拼接符’)
// 用于把数组中的所有元素放入一个字符串。
数组名.join(separator);
8.数组的其他方法:
// 数组遍历
数组名.forEach(function(value,index,currentArray){
console.log(value);
});
// 过滤出符合筛选条件的元素,返回一个新的数组
数组名.filter(function(value,index,currentArray){
return 条件; // 如:return value >= 1000;
});
// 验证数组中的每一个元素是否都符合指定的条件,返回布尔值
数组名.every(function(value,index,currentArray){
return 条件; // 如:return value >= 1000;
});
// 验证数组中的元素,是否有符合指定条件的,返回布尔值
数组名.some(function(value,index,currentArray){
return 条件; // 如:return value >= 1000;
});
// 遍历数组中的每一个元素,更改后存入一个新的数组中,返回一个新的数组
数组名.map(function(value,index,currentArray){
return 操作; // 如:return value * 2;
});
字符串对象:
字符串的不可变性:
var str = 'abc';
str = 'hello';
//当重新给str赋值 的时候,数据‘abc’不会被更改,依然在内存里
//当重新给字符串赋值时,会在内存里重新开辟一片空间 ,这就是字符串的不可变性
//在大量拼接字符串的时候会有效率问题
为什么基本数据类型字符串可以以像对象一样使用?
// 普通字符串
var str = 'abc'; // 普通字符串不是对象
var len = str.length; // 但是为什么可以像对象一样使用点出东西?
alert(len); // 3
//把字符串包装成对象 → 基本包装类型
var strObj = new String('abc'); // 把字符串包装成对象
var len = strObj.length; // 因为是对象,所以可以点出东西。
alert(len); //3
字符串对象常用方法:
1.获取字符串的单个字符 charAt(index)
字符串.charAt(index);
字符串[index]; // 推荐使用
2.字符串拼接 ‘+’ 和截取slice()
// 拼接
字符串.concat(str1,str2,str3...);
拼接符 + //推荐使用
// 截取
字符串.slice(star,end);
3.查询字符在字符串中是否存在indexOf()
字符串.indexOf();
字符串.lastIndexOf();
4.清除空白符 trim()
字符串.trim(); // 去除字符串两边的空格
5.字母字符 大小写转换 toUpperCase() toLowerCase()
6.字符串替换 replace(older,new)
7.分割字符串split(‘=’)
Math对象
Math对象常用属性和方法:
1. Math.abs(数字); 获取一个数字的绝对值
2. Math.round(数字); 四舍五入
3.Math.PI; π
4.Math.ceil(数字); 向上取整
5.Math.floor(数字); 向下取整
6.Math.random(); 随机数[0,1);
7.Math.max(数字,数字,数字...); 求最大数
8.Math.min(数字,数字,数字...); 求最小数
date对象
Date类型对象介绍
Date类型对象是JavaScript提供的日期和时间的操作接口。它可以表示的时间范围是,1970年1月1日00:00:00前后的各1亿天(单位为毫秒)。
创建Date对象
var 变量名 = new Date(); // 创建当前时间对象
var date = new Date();
console.log(date);
方法2
var 变量名 = new Date(stringdate); // 创建指定的时间对象
// 参数 stringdate, 字符串格式→ 'year-month-date hh:mm:ss' 或 'year/month/date hh:mm:ss'
var date = new Date('2018/10/16 12:12:12');
var date2 = new Date('2018-10-16 12:12:12');
console.log(date);
console.log(date2);
方法3
var 变量名 = new Date(value); // 创建1970年开始value毫秒后的时间对象
// 参数 value, 数字,指的是毫秒数
var date = new Date(99999999999);
console.log(date);
常用的Date类型对象方法
1获取和设置年月日
日期对象.getFullYear() / 日期对象.setFullYear(数字) // 年
日期对象.getMonth() / 日期对象.setMonth(数字) // 月
注意:获取月份是从0开始的
日期对象.getDate() / 日期对象.setDate(数字) //日
2获取和设置时分秒
日期对象.getHours() / 日期对象.setHours(数字) // 时
日期对象.getMinutes() / 日期对象.setMinutes(数字) // 分
日期对象.getSeconds() / 日期对象.setMinutes(数字) // 秒
对象. getMilliseconds() / 对象.setMilliseconds(数字) // 毫秒
3获取星期数
日期对象.getDay(); // 0-6(周日0到周六6) 不能够设置,原因是周天是由今天的日期决定的。
4获取1970年至指定时间的总毫秒数
日期对象.getTime() / 日期对象.setTime(数字);
- Web内置对象 跨页面传值
内置对象: 1.QueryString - 地址栏数据拼接 get传值方式 格式:?key=value优点:简单好用,速度快,不消耗服务器内存. 缺点:只能传字符串,保密性不好,长度有限 Reques ...
- java web学习总结(二十五) -------------------JSP中的九个内置对象
一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...
- java web 学习笔记 jsp内置对象
jsp2 表达式语言的内置对象 使用方式${object.attributename} 或者${object["attributename"]} pageContext pageS ...
- JSP中的内置对象和Struts中的Web资源的详解
JSP中的内置对象有如下几种: request :继承于HttpServletRequest, HttpServletRequest继承ServletRequest, 获得的Request对象的方法: ...
- Java Web学习总结(16)——JSP的九个内置对象
一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...
- Java Web程序设计笔记 • 【第3章 JSP内置对象】
全部章节 >>>> 本章目录 3.1 JSP 内置对象简介 3.1.1 JSP 内置对象概述 3.1.2 JSP 表单处理 3.1.2 request对象 3.1.2 开发 ...
- web前端学习(四)JavaScript学习笔记部分(6)-- js内置对象
1.JS内置对象-什么是对象 1.1.什么是对象: JavaScript中的所有事物都是对象:字符串.数值.数组.函数 每个对象带有属性和方法 JavaScript允许自定义对象 1.2.自定义对象: ...
- ASP.NET的六大内置对象
ASP.NET 六大内置对象(System.Web.UI.Page类): 1.Response 2.Request 3.Server 4.Application 5.Session 6.Cooki R ...
- Jsp的九个内置对象
一.什么是内置对象?在jsp开发中,会频繁使用到一些对象.例如HttSession,ServletContext,HttpServletRequest.如果我们每次要使用这些对象都去创建这些对象,就会 ...
随机推荐
- 洛谷——P1002 过河卒||codevs——T1010 过河卒
https://www.luogu.org/problem/show?pid=1002#sub||http://codevs.cn/problem/1010/ 题目描述 棋盘上A点有一个过河卒,需要走 ...
- 一种加快在苹果app store中上架的方法
预计近期苹果app应用上架的比較多,审核比較慢,如今一个app从提交到上架短则7.8天.长则2.3个星期.我在实际上线应用时,总结了一个简单有用的小技巧,能够加快上架时间,近期使用这样的方法后.我们基 ...
- 开发,从需求出发 · 之四 春天在这里
首先,我要大字标语表达立场: 你所使用的framework & non-core features,就跟女人穿在身上的衣服一样,越少越好! watermark/2/text/aHR0cDovL ...
- hdu4762Cut the Cake(概率+大数操作(java)+C++高精度模板)
题目链接:点击打开链接 题目描写叙述:现有一个大蛋糕.上面随机分布了n个草莓,然后将草莓切成m块,问n个草莓全在一块蛋糕上面的概率? 解题思路:细致分析可得:C(n,1)/m^(n-1) 因为m< ...
- redhat gitlab的搭建
http://www.cnblogs.com/derekchen/p/5870723.html 1.新建 /etc/yum.repos.d/gitlab-ce.repo,添加以下内容 [gitlab- ...
- 创建MAVEN项目报错
创建MAVEN项目pom.xml报错 Failure to transfer org.apache.maven:maven-archiver:jar:2.4.2 from http://repo.ma ...
- 使用RabbitMQ放置自己定义对象(不借助序列化工具,比如protobuffer)V2.0
怎样使用RabbitMQ盛放自己定义的对象呢?一般都会使用序列化工具在投放之前转换一次.从MQ取回的时候再逆序列化还原为本地对象.这里使用C++自带的强制类型装换,将本地对象的内存模型当做自然的序列化 ...
- Controller methods and views
https://docs.asp.net/en/latest/tutorials/first-mvc-app/controller-methods-views.html We have a good ...
- 详解Google第二代TPU 既能推理又能训练 性能霸道
详解Google第二代TPU 既能推理又能训练 性能霸道 转自:http://www.cnbeta.com/articles/tech/613639.htm 5月18日凌晨,Google CEO Su ...
- Triangle LOVE(拓扑排序)
Triangle LOVE Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/65536K (Java/Other) Total ...