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 对象的方法 | 方法 | 描述 | FF | IE |
|---|
| search | 检索与正则表达式相匹配的值。 | 1 | 4 | | match | 找到一个或多个正则表达式的匹配。 | 1 | 4 | | replace | 替换与正则表达式匹配的子串。 | 1 | 4 | | split | 把字符串分割为字符串数组。 | 1 | 4 |
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中有哪三种对象的详细内容,更多请关注模板之家(www.mb5.com.cn)其它相关文章! |