1、JavaScript3大对象:本地对象(又叫原生对象)内置对象、宿主对象

(1)本地对象:

  • 需要通过new来创建所需的实例对象。
  • 包含:ObjectArrayDateRegExpFunctionBooleanNumberString等。

(2)内置对象(不需要NEW , 直接引用——只有MATH  GLOBAL)

  • 内置对象是本地对象的子集
  • 内置对象总是在引擎初始化阶段就被创建好了;而本地对象包括了一些在运行过程中动态创建的对象。
  • ECMA-262 把内置对象(built-in object)定义为“由 ECMAScript 实现提供的、独立于宿主环境的所有对象,在 ECMAScript 程序开始执行时出现”。
  • Global对象是ECMAScript中最特别的对象,因为实际上它根本不存在!在ECMAScript中,不存在独立的函数,所有函数都必须是某个对象的方法。类似于isNaN()、parseInt()和parseFloat()方法等,看起来都是函数,而实际上,它们都是Global对象的方法。

(3)宿主对象

  • 何为“宿主对象”?  ECMAScript中的“宿主”当然就是我们网页的运行环境,即“操作系统”和“浏览器”。所有非本地对象都是宿主对象。
  • 所有的BOM和DOM对象都是宿主对象。

(4)总结

  1. 本地对象,就是那些官方定义好了的对象。
  2. 内置对象是本地对象的一种,其只包含Global对象和Math对象。
  3. 而宿主对象则是那些官方未定义,你自己构建的对象加上DOM和BOM对象组成的。

2、常见的内置对象:Array, String, Date, Math

2.1 内置对象之Array

(1)创建对象

var arr = [];   //直接量
var arr = new Array(); //创建数组对象。当数组长度为0的时候括号可以不写。
var arr = [1, 2, 3, 4];        //直接量,在创建数组对象的同时初始化保存的数据
var arr = new Array(1, 2, 3, 4);
var arr = new Array(size);     //size为数字参数,表示创建数组时先预定size个空间

(2)数组常用的方法

splice方法

(15条消息) JavaScript的数组的常用方法(一)_吴迪网络工作室-CSDN博客

(3)遍历数组的方式

(15条消息) 数组ES5新增遍历迭代的方法及其区别_吴迪网络工作室-CSDN博客

2.2 内置对象之Math

(1)创建对象

var num = 15;
var num = new Number(15);

(2)Math常用的方法

  • Math.random()

生成一个0~1之间的随机小数
        如果要生成0-54之间的随机整数

Math.floor(Math.random() * 54)
  • Math.floor(num)

将num向下取整,取小于等于num的最大整数

Math.floor(3.1)      //3
Math.floor(3.999)   //3
  • Math.ceil(num)

将num向上取整数,取大于等于num的最小整数,

Math.ceil(3.1)       //4
Math.ceil(3.999)    //4
  • Math.round(num)
    将num四舍五入取整数
  • Math.pow(x, y)
    求 x 的 y 次方
Math.pow(5, 3)       //125
  •  Math.trunc()

去除一个数的小数部分,返回整数部分。对于非数值会内部调用Number方法先将其转为数值。

  • Math.sign()

判断一个数是正数、负数、零或者NaN。对于非数值,会将其转换为数值。他会返回五种值:

  • 参数为正数,返回+1;
  • 参数为负数,返回-1;
  • 参数为 0,返回0;
  • 参数为-0,返回-0;
  • 其他值,返回NaN。

(3)Number的方法

  • isFinite() - - 检测是否是有限的数字,即不是Infinity。如果参数不是数字直接返回false。
  • isNaN() - - 判断参数是不是NaN。
  • parseInt() - - 将字符串转为整数【有容错能力】
  • parseFloat() - - 将字符串转为浮点数【有容错能力】
  • Number() - - 将字符串转为数字。【无容错能力,遇到不是数字的话就会返回NaN】
  • isInteger() - - 用来判断一个数值是否是整数。【如果数字超过了小数点后面的十六个进制则会判断失误因为超过的被遗弃了。或者绝对值小于js能判断的最小值也会失误被转为0】

有容错能力的意思就是允许后面有非数字的内容。会将前面是数字的内容进行转换。无容错能力就是不会转换

2.3 内置对象之String

(1)创建对象

var str = 'abc';
var str = new String('abc');

(2)String常用的方法

  • charAt(index) - - 获取index位置处的字符
  • indexOf(sub) - - 查找符合条件的第一个字符串所在下标
  • lastIndexOf(sub) - - 查找符合条件的第一个字符串所在下标(从后往前查)
  • slice(start, end) - - 截取子字符串,不包括下标为end的元素
  • concat() - - 字符串连接
  • split() - - 切割字符串不传值的话就是直接把字符串用数组包起来,传值就是以值为分割。比如:

  • splice(index,n)---删除、插入、替换。index:数组中需要删除数据的起始位置;n:需要删除的元素,数据的个数;可参考:https://blog.csdn.net/shadow_zed/article/details/83060588
  • replace(oldString, newString) - - 替换
  • toUpperCase() - - 转换为大写
  • toLowerCase() - - 转换为小写
  • subString(start, end) - - 截取子字符串,不包含end
  • charCodeAt(index) - - 获取index位置处字符的unicode编码
  • String.fromCharCode(code) - - 将unicode编码转换为对应的字符串
  • trim() - - 去掉前后空白
  • trimStart() - - 去除头部空白
  • trimLeft() - - 去除头部空白【trimStart的别名】
  • trimEnd() - - 去除尾部空白
  • trimRight() - - 去除尾部空白【trimEnd的别名】
  • replace(/^\s+|\s+$/g, ‘’) - - 去掉前后空白的兼容写法
  • includes(sub) - - 返回布尔值,表示是否找到了参数字符串。
  • startsWith(sub) - - 返回布尔值,表示参数字符串是否在原字符串的头部。
  • endsWith(sub) - - 返回布尔值,表示参数字符串是否在原字符串的尾部。

从下图可以看到这三个方法都会将数据类型进行隐式转换。

2.4 内置对象之Date

(1)创建对象

let date = new Date();  //系统当前时间
let date = new Date(value);        //value是距1970-1-1 0:0:0(UTC)依赖的毫秒值
let date = new Date(dateString);   //dateString表示日期时间字符串“yyyy-MM-ddThh:mm:ss”
let date = new Date(year,month[, hour[, minutes[, seconds[, milliseconds]]]]);;    //传递日期时间数字。month合理取值为0~11;

(2)Date常用的方法

  • 获取时间:
getFullYear()    //获取四位年份
getMonth()      //获取月份,返回值是0~11
getDate()       //获取日期
getDay()        //获取星期,返回值是0~6
getHours()      //获取小时
getMinutes()    //获取分钟
getSeconds()    //获取秒
getMilliseconds()   //获取毫秒
getTime()       //获取距 1970-1-1 0:0:0 以来的毫秒值
  • 设置时间:
setFullYear()    //设置四位年份
setMonth()      //设置月份,传值是0~11
setDate()       //设置日期
setHours()      //设置小时
setMinutes()    //设置分钟
setSeconds()    //设置秒
setMilliseconds()   //设置毫秒
setTime()       //设置距1970-1-1 0:0:0多少毫秒是什么时间(取负值的话就是1970年之前)
  • 时间转换:
Date.parse() //解析,将日期时间字符串转换为表示时间的毫秒值
toString()      //将日期时间字符串转换为字符串
toUTCString()   //将日期时间转换为世界标准时间的字符串
valueOf()       //返回Date对象的原始值。与getTime()一致。
tolSOString()   //将日期时间转为格式为  YYYY-MM-DDTHH:mm:ss.sssZ  的字符串
toJSON()        //返回 Date 对象的字符串形式。
  • 获取日期时间毫秒值:
new Date.getTime()
Date.parse()
new Date().valueOf()
+new Date()    //隐式类型转换的方法
Date.now()  //ES5的方法

2.5 内置对象之JSON(ES5新增内置对象)

全称:
JavaScript Object Notation(JavaScript对象表示法)

作用:
用于存储和交换数据的文本格式(XML)

(1)JSON常用的方法

//将JS值转换为JSON文本字符串
JSON.stringify()
//将JSON文本字符串解析为JS值
JSON.parse()//编码
encodeURIComponent()
//解码
decodeURIComponent()

例1: (JSON.stringify与JSON.parse也可以用来拷贝对象的值,该例子就已经实现了拷贝对象)

 例2:编码与解码

3、创建对象的方法

3.1 方式一:直接量(也叫字面量)

var stu = {//name与age属于静态体征name: '李四',age: 13,//study与eat属于动态行为study: function(course) {console.log('学习课程:' + course)},eat: function(pig) {console.log('吃:' + pig)}
}

3.2 方式二:通过构造函数创建

var person = new 函数名();

通过该方法创建对象时,会自动执行该构造函数

//构造函数的函数名首字母大写,区分与普通函数的区别,不是强制规定的,你也可以小写。
function Person(name, sex) {this.name = name;this.sex = sex,this.job = function() {alert(this.name)}
}
var child = new Person('Jack', '男');
Person.job();
//此代码一共会两次跳出对话框,因为创建对象时会自动执行构造函数一次。this指的是调用函数的对象。

3.3 方式三:通过new Object()创建

通过object构造器new一个对象,再丰富对象信息

var person = new Object();
person.name = 'wuxiaodi';
person.sex = 'boy';

3.4 方式四:工厂方式

注意:不能区分对象的具体类型

function createStudent(name, age) {let stu = new Object();stu.name = name;stu.age = age;stu.study = function() {console.log(this.name + " 学习...");}return stu;
}

3.5  方式五:Object.create()

参考:https://blog.csdn.net/weixin_43606158/article/details/94912023

82、常见的JS内置对象及其方法相关推荐

  1. window内置对象和js内置对象与方法

    window内置对象 一.navigator   代表着浏览器本身的信息: 代码名:navigator.appCodeName 浏览器语言:navigator.browserLanguage 操作系统 ...

  2. js 内置对象的方法

    Array类型 Array 对象属性 1.length 设置或返回数组中元素的数目. length 是Array的实例属性.返回或设置一个数组中的元素个数.该值是一个无符号 32-bit 整数,并且总 ...

  3. JS 内置对象 String对象

    JS内置对象   String对象:字符串对象,提供了对字符串进行操作的属性和方法.   Array对象:数组对象,提供了数组操作方面的属性和方法.   Date对象:日期时间对象,可以获取系统的日期 ...

  4. 前端:JS/23/JS内置对象(String对象,Array对象,Date对象,Boolean对象,Number对象,Math对象),实例:求圆的面积,求直角三角形

    JS内置对象 1,String对象 字符串对象,提供了对字符串进行操作的属性和方法 2,Array对象 数组对象,提供了数组操作方面的属性和方法 3,Date对象 日期时间对象,可以获取系统的日期时间 ...

  5. 4月5日--课堂笔记--JS内置对象

    JavaScript 4.5 一.    JS内置对象 1.数组Array a)创建语法1:var arr=new Array(参数); i.       没有参数:创建一个初始容量为0的数组 ii. ...

  6. js内置对象【学习笔记】

    今天系统的学了一下javascript的内置对象.mark相关的知识点: 首先,什么是js的内置对象,它包括了些什么内容?(以下内容转自网上资源的整合) (W3shool JS手册地址:http:// ...

  7. JS内置对象及其用法总结

    首先JS对象分为3种:自定义.内置.浏览器.今天就总结一下JS内置对象以及一些用法. 一.Math对象:不是一个构造函数,不需要new,直接调用即可. 1.Math.max(x,y);返回x,y的最大 ...

  8. JS内置对象操作方法整理

    JS对象操作方法整理 文章目录 JS对象操作方法整理 数组 ES5 ES6 字符串 String 日期 Date() 数字 Number 算数 Math 数组 ES5 concat() 连接两个或更多 ...

  9. js内置对象常用方法

    js内置对象常用方法 JS内置对象: ● String对象:处理所有的字符串操作 ● Math对象:处理所有的数学运算 ● Date对象:处理日期和时间的存储.转化和表达 ● Array对象:提供一个 ...

最新文章

  1. Hessian使用记录
  2. 利用dynamoRIO实现codeCoverage
  3. a5 1c语言实现,初识C语言1_qq5fb3b05a5f322的技术博客_51CTO博客
  4. 传输模型, tcp socket套接字
  5. vasp软件全名是什么_qvasp一款简单易用的VASP辅助计算软件
  6. react引入本地mp4视频
  7. ElasticJob汇总
  8. 赵雯北京大学计算机动画系,北京大学艺术类、设计类考研辅导课程
  9. 送给天下程序员的诗 (原创)
  10. 修改Java文件不用重启Tomcat服务
  11. 数据库——数据库结构设计
  12. 设计模式--工厂模式(一个关于工厂的故事)
  13. 软件开发工程师工作总结(转)
  14. linux系统怎么连接显示器,Linux下笔记本外接显示器 · Eulerlee
  15. 自动驾驶漫谈之二:无人驾驶与高精度地图
  16. 最新版Ubuntu 18.04将语言改为中文(简体)
  17. 使用HiFlow场景连接器查看每天处于地区的疫情
  18. 机器学习性能评估——PR曲线与ROC曲线
  19. scanf库函数的返回值
  20. 秋春招总结之MySQL

热门文章

  1. Android逆向 小米5X 抓包调试 环境配置
  2. 【整点没用的】软件工程基本原则在《异星工厂》中的应用
  3. Python框架浅谈
  4. 虚拟机基础网络配置及其常见问题(保姆级!超详细)
  5. python 代理ip
  6. 许愿二级域名分发系统网站源码下载和伪静态规则
  7. 区块链应用 | 区块链技术浪潮:早早进,慢慢来
  8. 解决windows应用商店Microsoft Store/OneNote无法联网问题,报错:错误代码0x80072F7D
  9. 阿里云发布边缘节点服务2.0,建立“融合、开放、联动”的边缘计算新形态
  10. 学人工智能有什么好处?学AI的优势