JavaScript中有哪三种对象

JavaScript中有哪三种对象,第1张

JavaScript中有哪三种对象

JavaScript中的三种对象:1、内部(置)对象,如Array,Boolean,Data,Math,Number,Object,RegExp,String对象等;2、宿主对象,即执行JS脚本的环境提供的对象;3、自定义对象。

本教程 *** 作环境:windows7系统、javascript1.8.5版、Dell G3电脑

JS三种对象

JS中,可以将对象分为“内部对象”、“宿主对象”和“自定义对象”三种。

如图所示:

内部对象

⑴Number对象

⑵Math:内置对象

Math 对象属性

属性描述E返回算术常量 e,即自然对数的底数(约等于2.718)。LN2返回 2 的自然对数(约等于0.693)。LN10返回 10 的自然对数(约等于2.302)。LOG2E返回以 2 为底的 e 的对数(约等于 1.4426950408889634)。LOG10E返回以 10 为底的 e 的对数(约等于0.434)。PI返回圆周率(约等于3.14159)。SQRT1_2返回 2 的平方根的倒数(约等于 0.707)。SQRT2返回 2 的平方根(约等于 1.414)。

Math 对象方法

方法描述abs(x)返回 x 的绝对值。acos(x)返回 x 的反余弦值。asin(x)返回 x 的反正弦值。atan(x)以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。atan2(y,x)返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。ceil(x)对数进行上舍入。cos(x)返回数的余弦。exp(x)返回 Ex 的指数。floor(x)对 x 进行下舍入。log(x)返回数的自然对数(底为e)。max(x,y,z,...,n)返回 x,y,z,...,n 中的最高值。min(x,y,z,...,n)返回 x,y,z,...,n中的最低值。pow(x,y)返回 x 的 y 次幂。random()返回 0 ~ 1 之间的随机数。round(x)四舍五入。sin(x)返回数的正弦。sqrt(x)返回数的平方根。tan(x)返回角的正切。

⑶Boolean 对象

Boolean 对象属性

属性描述constructor返回对创建此对象的 Boolean 函数的引用prototype使您有能力向对象添加属性和方法。

Boolean 对象方法

方法描述toString()把布尔值转换为字符串,并返回结果。valueOf()返回 Boolean 对象的原始值。

⑷String对象

String 对象属性

属性描述constructor对创建该对象的函数的引用length字符串的长度prototype允许您向对象添加属性和方法

String 对象方法

方法描述charAt()返回在指定位置的字符。charCodeAt()返回在指定的位置的字符的 Unicode 编码。concat()连接两个或更多字符串,并返回新的字符串。fromCharCode()将 Unicode 编码转为字符。indexOf()返回某个指定的字符串值在字符串中首次出现的位置。includes()查找字符串中是否包含指定的子字符串。lastIndexOf()从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。match()查找找到一个或多个正则表达式的匹配。repeat()复制字符串指定次数,并将它们连接在一起返回。replace()在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串。search()查找与正则表达式相匹配的值。slice()提取字符串的片断,并在新的字符串中返回被提取的部分。split()把字符串分割为字符串数组。startsWith()查看字符串是否以指定的子字符串开头。substr()从起始索引号提取字符串中指定数目的字符。substring()提取字符串中两个指定的索引号之间的字符。toLowerCase()把字符串转换为小写。toUpperCase()把字符串转换为大写。trim()去除字符串两边的空白toLocaleLowerCase()根据本地主机的语言环境把字符串转换为小写。toLocaleUpperCase()根据本地主机的语言环境把字符串转换为大写。valueOf()返回某个字符串对象的原始值。toString()返回一个字符串。

⑸RegExp对象

RegExp 对象方法

方法描述compile在 1.5 版本中已废弃。 编译正则表达式。exec检索字符串中指定的值。返回找到的值,并确定其位置。test检索字符串中指定的值。返回 true 或 false。toString返回正则表达式的字符串。

支持正则表达式的 String 对象的方法

方法描述FFIEsearch检索与正则表达式相匹配的值。14match找到一个或多个正则表达式的匹配。14replace替换与正则表达式匹配的子串。14split把字符串分割为字符串数组。14

RegExp 对象属性

属性描述constructor返回一个函数,该函数是一个创建 RegExp 对象的原型。global判断是否设置了 "g" 修饰符ignoreCase判断是否设置了 "i" 修饰符lastIndex用于规定下次匹配的起始位置multiline判断是否设置了 "m" 修饰符source返回正则表达式的匹配模式

⑹Global:内置对象

JavaScript 全局属性

属性描述Infinity代表正的无穷大的数值。NaN指示某个值是不是数字值。undefined指示未定义的值。

JavaScript 全局函数

函数描述decodeURI()解码某个编码的 URI。decodeURIComponent()解码一个编码的 URI 组件。encodeURI()把字符串编码为 URI。encodeURIComponent()把字符串编码为 URI 组件。escape()对字符串进行编码。eval()计算 JavaScript 字符串,并把它作为脚本代码来执行。isFinite()检查某个值是否为有穷大的数。isNaN()检查某个值是否是数字。Number()把对象的值转换为数字。parseFloat()解析一个字符串并返回一个浮点数。parseInt()解析一个字符串并返回一个整数。String()把对象的值转换为字符串。unescape()对由 escape() 编码的字符串进行解码。

⑺Date对象

Date 对象属性

属性描述constructor返回对创建此对象的 Date 函数的引用。prototype使您有能力向对象添加属性和方法。

Date 对象方法

方法描述getDate()从 Date 对象返回一个月中的某一天 (1 ~ 31)。getDay()从 Date 对象返回一周中的某一天 (0 ~ 6)。getFullYear()从 Date 对象以四位数字返回年份。getHours()返回 Date 对象的小时 (0 ~ 23)。getMilliseconds()返回 Date 对象的毫秒(0 ~ 999)。getMinutes()返回 Date 对象的分钟 (0 ~ 59)。getMonth()从 Date 对象返回月份 (0 ~ 11)。getSeconds()返回 Date 对象的秒数 (0 ~ 59)。getTime()返回 1970 年 1 月 1 日至今的毫秒数。getTimezoneOffset()返回本地时间与格林威治标准时间 (GMT) 的分钟差。getUTCDate()根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。getUTCDay()根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。getUTCFullYear()根据世界时从 Date 对象返回四位数的年份。getUTCHours()根据世界时返回 Date 对象的小时 (0 ~ 23)。getUTCMilliseconds()根据世界时返回 Date 对象的毫秒(0 ~ 999)。getUTCMinutes()根据世界时返回 Date 对象的分钟 (0 ~ 59)。getUTCMonth()根据世界时从 Date 对象返回月份 (0 ~ 11)。getUTCSeconds()根据世界时返回 Date 对象的秒钟 (0 ~ 59)。getYear()已废弃。 请使用 getFullYear() 方法代替。parse()返回1970年1月1日午夜到指定日期(字符串)的毫秒数。setDate()设置 Date 对象中月的某一天 (1 ~ 31)。setFullYear()设置 Date 对象中的年份(四位数字)。setHours()设置 Date 对象中的小时 (0 ~ 23)。setMilliseconds()设置 Date 对象中的毫秒 (0 ~ 999)。setMinutes()设置 Date 对象中的分钟 (0 ~ 59)。setMonth()设置 Date 对象中月份 (0 ~ 11)。setSeconds()设置 Date 对象中的秒钟 (0 ~ 59)。setTime()setTime() 方法以毫秒设置 Date 对象。setUTCDate()根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。setUTCFullYear()根据世界时设置 Date 对象中的年份(四位数字)。setUTCHours()根据世界时设置 Date 对象中的小时 (0 ~ 23)。setUTCMilliseconds()根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。setUTCMinutes()根据世界时设置 Date 对象中的分钟 (0 ~ 59)。setUTCMonth()根据世界时设置 Date 对象中的月份 (0 ~ 11)。setUTCSeconds()setUTCSeconds() 方法用于根据世界时 (UTC) 设置指定时间的秒字段。setYear()已废弃。请使用 setFullYear() 方法代替。toDateString()把 Date 对象的日期部分转换为字符串。toGMTString()已废弃。请使用 toUTCString() 方法代替。toISOString()使用 ISO 标准返回字符串的日期格式。toJSON()以 JSON 数据格式返回日期字符串。toLocaleDateString()根据本地时间格式,把 Date 对象的日期部分转换为字符串。toLocaleTimeString()根据本地时间格式,把 Date 对象的时间部分转换为字符串。toLocaleString()据本地时间格式,把 Date 对象转换为字符串。toString()把 Date 对象转换为字符串。toTimeString()把 Date 对象的时间部分转换为字符串。toUTCString()

根据世界时,把 Date 对象转换为字符串。

实例:

var today = new Date();var UTCstring = today.toUTCString();
UTC()根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。valueOf()返回 Date 对象的原始值。

⑻Object对象

⑼Array对象

⑽Function对象

各种错误类对象:

⑴Error

⑵EvalError

⑶RangeError

⑷ReferenceError

⑸SyntaxError

⑹TypeError

JS宿主对象

⑴ 定义:宿主对象就是执行JS脚本的环境提供的对象。

⑵ 浏览器对象:对于嵌入到网页中的JS来说,其宿主对象就是浏览器提供的对象,所以又称为浏览器对象,如IE、Firefox等浏览器提供的对象。

⑶ 注意:不同的浏览器提供的宿主对象可能不同,即使提供的对象相同,其实现方式也大相径庭!这会带来浏览器兼容问题,增加开发难度。

⑷ 宿主对象举例:window,navigator,document等等

⑸ 浏览器扩展对象:Active,XML,Debug,Script,VBArray等等

JS自定义对象

⑴对象字面量方式(通过JSON来创建对象)

缺点:使用同一个接口创建很多对象,会产生大量的重复代码。

⑵工厂模式。

①工厂模式就是将创建对象的语句放在一个函数里,通过传入参数来创建特定对象,最后返回创建的对象。

函数createPerson()能够根据接受到的参数来构建一个包含所有必要信息的Person对象。

可以无数次的调用这个函数,而每次它都会返回一个包含2个属性和一个方法的对象。

②缺点:工厂模式虽然可以创建多个相似的对象,但却不能解决对象标识的问题,即怎样知道一个对象的类型。

⑶构造函数模式

①缺点:使用构造函数的主要问题是:每个方法都要在每个实例上创建一遍。

②在ECMAScript中,函数即对象,因此每定义一个函数,也就是实例化了一个对象。

③也就是说通过构造函数实例化的多个对象的方法,是多个不同的方法,但它们内部的代码以及实现的功能是相同的,这就造成了一定的资源浪费。

⑷原型模式

①js中,每个函数都有一个prototype属性,它是一个指针,指向一个对象,叫做原型对象。

②使用原型模式可以让所有的实例共享原型对象中的属性和方法,也就是说,不必再构造函数中定义对象实例的信息。

③缺点:省略了为构造函数传递初始化参数这一环节,结果所有实例在默认情况下都将取得相同的属性值。

原型模式的最大问题是由共享的本性所导致的。原型中所有属性是被很多实例共享的

这种共享对于函数非常合适。对于包含引用类型的属性来说,问题就比较突出了。

④因此,很少单独使用原型模式。

⑸组合使用构造函数模式和原型模式

①组合使用构造函数模式和原型模式,是创建自定义类型的最常见方式。

②构造函数模式用于定义实例属性,而原型模式用于定义方法和共享的属性。

③结果,每个实例都会有自己的一份实例属性的副本,但同时又共享着对方法的引用,最大限度的节省了内存。

⑹其他模式

①动态原型模式:仅在第一次调用构造函数时,将方法赋给原型对象的相应属性,其他示例的处理方式同构造函数模式

②寄生构造函数模式:仅仅封装创建对象的代码,然后再返回新创建的对象,仍使用new *** 作符调用

③稳妥构造函数模式:没有公共属性,只有私有变量和方法,以及一些get/set方法,用以处理私有变量。

更多编程相关知识,请访问:编程入门!!

以上就是JavaScript中有哪三种对象的详细内容,

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/690972.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-21
下一篇 2022-04-21

发表评论

登录后才能评论

评论列表(0条)

保存