内置对象,宿主对象,自定义对象的区别?
内置对象:
系统所提供的对象: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 3555数位dp基础入门题
#include<stdio.h> #define N 20 long long dp[N][3]; void init(){ long long i; dp[0][0]=1; for ...
- 0807再整理SQL执行流程
转自http://www.cnblogs.com/annsshadow/p/5037667.html MySQL架构总览->查询执行流程->SQL解析顺序 前言: 一直是想知道一条SQ ...
- http400错误基本都是http请求参数与服务器接收参数不匹配
http400错误基本都是http请求参数与服务器接收参数不匹配造成的, 如:1)post请求,你发了个get请求 2)content-type指定不匹配致使参数无法读出来
- IOS总结_实现UIButton的图文混排(二)
非常久没有写博客了,之前写过一篇关于UIButton图文混排的,可是有点复杂,今天来一个比較简单地.相信大家回用得着 UIButton *button=[[UIButton alloc, , )]; ...
- IOS UITextView光标位置在中间的问题
在viewDidLoad中 if ([selfrespondsToSelector:@selector(setAutomaticallyAdjustsScrollViewInsets:)]) { se ...
- pod install fatal: unable to access 'https://chromium.googlesource.com/webm/libwebp/'
1. 前往文件夹 /用户/aki/.cocoapods/repos/master/1/9/2/libwebp 2.编辑libwebp.podspec.json 将source git 改为 https ...
- element-UI中table表格的row-click事件怎么获取一行数据的id
<el-table :data="tableData" style="width: 100%" @row-click="openDetails( ...
- oc5--方法
// main.m // 第一个OC类-方法2 #import <Foundation/Foundation.h> // 1.编写类的声明 @interface Iphone : NSOb ...
- SUSE glibc升级为2.18过程记录
先验知识:1.运行时,动态库的装载依赖于ld-linux.so.6的实现,它查找共享库的顺序如下:(1)ld-linux.so.6在可执行的目标文件中被指定,可用readelf命令查看(2)ld-li ...
- poj--2239--Selecting Courses(最大匹配)
Selecting Courses Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9782 Accepted: 4400 ...