内置对象,宿主对象,自定义对象的区别?
内置对象:
系统所提供的对象: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.如果我们每次要使用这些对象都去创建这些对象,就会 ...
随机推荐
- HDU - 1043 - Eight / POJ - 1077 - Eight
先上题目: Eight Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- 0301mysql数据库建表情况
转自博客:http://blog.csdn.net/dreamcode/article/details/8557197 一. 表设计 库名.表名.字段名必须使用小写字母,“_”分割. 库名.表名.字段 ...
- vmstat命令的输出
- Marching squares & Marching cubes
提要 Marching squares 主要是用于从一个地图(用二维数组表示)生成轮廓的算法.Marching cubes则相应的是在空间生成网格的方法.最常见的应用就是天气预报中气压图的生成.还经常 ...
- 关于TRIANGLE二维三角网格生成器在windows下的配置说明
近期须要用到三角网格生成的一些东西,所以就把TRIANGLE这个库编译了一下,发现编译过程还是略微有些纠结,于是就想到写下来.希望以后有些童鞋看到少走一些弯路. 首先很感谢eryar的帮助,很感谢! ...
- 站点搭建从零開始(七) WordPress站点的完好
1.WordPress站点前后端经常使用语言简单介绍和执行过程 通常一个站点的整个构建过程中须要大量的技术支持,尤其是用到非常多种计算机语言.站点的构建主要分后端和前端两部分,后端代码在server上 ...
- 文字录入无限制Undo,Redo的实现
这里只针对Edit的内容做一个简单的undo,redo功能: 原理就是,将新增字符和相关信息添加到undo列表,在undo动作时,取记录信息,并在edit中删除新增的字符,然后将此动作添加到redo列 ...
- yii依赖注入
为了降低代码耦合程度,提高项目的可维护性,Yii采用多许多当下最流行又相对成熟的设计模式,包括了依赖注入(Denpdency Injection, DI)和服务定位器(Service Locator) ...
- shp系列(七)——利用C++进行Shx文件的写(创建)
之前介绍了Shp文件和Dbf的写(创建),最后来介绍一下Shx文件的写(创建).Shx文件是三者之中最简单的一个,原因有两个:第一是Shx文件的头文件与Shp文件的头文件几乎一样(除了FileLeng ...
- 大数字运算——2、BigDecimal
package com.wh.BigInteger; import java.math.BigDecimal; import java.util.Arrays; /** * @author 王恒 * ...