🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
**一、 类与对象**    在 JavaScript世界里,关于面向对象第一个要澄清的概念就是类。对象都是由类来定义的,通过类来创建对象就是我们所熟悉的实例化。然而,在 JavaScript中别没有真正的类,对象的定义就是对象自身。而 ECMA-262 干脆把这种妥协的方式称作为对象的调和剂。为了方便理解,我通常把这个发挥类的作用的调和剂称为类。 **全局属性** | Infinity | 表示正无穷大的数值 | | --- | --- | | NaN | 非数字值| | undefined | 未定义的值 | | decodeURI() |对encodeURI()转义的字符串解码。 | | decodeURIComponent() | 对encodeURIComponent()转义的字符串解码。 | | encodeURI() | 返回参数的副本,其中某些字符被十六进制的转义序列替换了, 建议使用encodeURIComponent()对字符串进行编码。 | | encodeURIComponent() | 返回参数的副本,其中某些字符被十六进制的转义序列替换了。 | | escape() |用转义序列替换某些字符来字符串编码。 | | eval() | 计算Javascript代码串,返回结果。 | | isFinite() | 检验一个值是否是无穷大的数字。 | | isNaN() | 检验一个值是否是非数字的值。 | | parseFloat() | 从字符串解析一个数字。 | | parseInt() | 从字符串解析一个数字。 | | unescape() | 对用escape()编码的字符串解码。 | **JavaScript内置对象** ![](https://img.kancloud.cn/f0/06/f0066b5a4abb9270f6fe37ad30a920d0_533x400.png) **Object对象** | constructor | 对一个Javascript函数的引用,该函数是对象的构造函数。 | | --- | --- | | hasOwnProperty() | 检查对象是否有局部定义的(非继承的)、具有特定名字的属性。 | | isPrototypeOf() | 检查对象是否是指定对象的原型。 | | propertyIsEnumerable() | 检查指定的属性是否存在,以及是否能用for/in循环枚举。 | | toLocaleString() | 返回对象地方化的字符串表示。 | | toString() | 返回对象的字符串表示。 | | valueOf() | 返回对象的原始值(如果存在)。 | **Arguments对象(只在函数内部定义)** | callee | 对当前正在执行函数的引用。 | | --- | --- | | length | 传递给函数的实际参数个数。 | **Array对象** | length | 数组包含的元素的个数。 | | --- | --- | | concat() | 给数组添加元素(此操作原数组的值不变)。 | | join() | 把数组中所有元素转换成字符串,然后连接起来。 | | pop() | 删除并返回数组最后一个元素。 | | push() | 把一个元素添加到数组的尾部,返回值为数组的新长度(Bug:ver1.2中,将返回数组最后一个元素)。 | | reverse() | 在原数组上颠倒数组中元素的顺序。 | | shift() | 删除并返回数组的头部元素。 | | slice() | 返回数组的一个子数组,该方法不修改原数组(Bug:在IE4中start不能为负数)。 | | sort() | 从原数组上对数组进行排序。 | | splice() | 插入,删除,替换一个数组元素。 | | toLocalString() | 把数组转换成一个局部字符串。 | | toString() | 把数组转换成一个字符串。 | | unshift() | 在数组头部插入一个元素, 返回值为数组的新长度。 | **Date对象** | getDate() | 返回月中的某一天。 | | --- | --- | | getDay() | 返回一周中的某一天。 | | getFullYear() | 返回日期中的年份。 | | getUTCFullYear() | 同上。 | | getHours() | 返回对象的小时字段。 | | getUTCHours() | 同上 | | getMilliseconds() |返回对象的毫秒字段。 | | getUTCMilliseconds() | 同上 | | getMinutes() | 返回对象的分钟字段。 | | getUTCMinutes() |同上。 | | getMouth() | 返回对象的月份字段。 | | getUTCMouth() | 同上。 | | getSeconds() | 返回对象的秒字段。 | | getUTCSeconds() | 同上。 | | getTime() | 返回对象内部的毫秒表示。 | | getTimezoneoffset() | 返回这个日期的本地时间和UTC表示之间的时差,以分钟为单位。 | | getYear() | 推荐使用getFullYear()。 | | setDate() | 设置对象月中的某一天。 | | setUTCDate() | 同上。 | | setFullYear() | 设置对象中的年份字段。 | | setUTCFullYear() | 同上。 | | setHours() | 设置对象的小时字段。 | | setUTCHours() | 同上。 | | setMilliseconds() | 设置对象的毫秒字段。 | | setUTCMilliseconds() | 同上。 | | setMinutes() | 设置对象的分钟字段。 | | setUTCMinutes() |同上。 | | setMouth() | 设置对象的月份字段。 | | setUTCMouth() | 同上。 | | setSeconds() | 设置对象的秒字段。 | | setUTCSeconds() | 同上。 | | setTime() | 使用毫秒的形式设置对象的各个字段。 | | setYear() | 推荐使用setFullYear()。 | | toDateString() | 返回日期的日期部分的字符串表示。 | | toGMTString() | 推荐使用toUTCString()。 | | toLacaleDataString() | 返回日期的日期部分的字符串表示。 | | toLocaleString() | 将对象转换成一个字符串。 | | toLacaleTimeString() | 返回日期的时间部分的字符串表示。 | | toString() | 将对象转换成一个字符串。 | | toTimeString() | 将对象转换成一个字符串。 | | toString() | 返回日期的时间部分的字符串表示。 | | toUTCString() | 将对象转换成一个字符串。 | | valueOf() | 将对象转换成它的内部毫秒格式。 | | parse() | 静态方法,解析日期和时间的字符串表示,返回它的内部毫秒表示。 | | UTC() | 静态方法,返回指定的UTC日期和时间的毫秒表示。 | **Error对象** | message | 提供异常详细信息的错误消息。 | | --- | --- | |name | 声名异常类型的字符串。 | | toString()|返回一个表示Error对象的字符串。| ##子对象类型,指示具体的错误类型。 EvalError(执行错误)。 RangeError(在数字超出合法范围时抛出)。 ReferenceError(在读取不存在的变量时抛出)。 SyntaxError(抛出该错误用来通知语法错)。 TypeError(当一个值的类型错误时,抛出该异常)。 URIError(由URI的编码和解码方法抛出)。 **Function对象** | arguments | Arguments对象, 反对使用该属性。 | | --- | --- | | caller | 对调用当前函数的Funciton对象的引用,反对使用该属性。 | | length | 在声名函数时指定的命名参数个数。 | | prototype | 一个对象,用于构造函数,这个对象定义的属性和方法由构造函数创建的所有对象共享。 | | apply() | 将函数作为指定对象的方法来调用,传递给它的是指定的参数数组。 | | call() | 将函数作为指定对象的方法来调用,传递给它的是指定的参数。 | | toString() | 返回函数的字符串表示。 | **Math对象** |Math.E | 常量e,自然对数的底数。| | --- | --- | |Math.LN10 | 10的自然对数。| |Math.LN2 | 2的自然对数。| |Math.LOG10E | 以10为底的e的对数。| |Math.LOG2E | 以2为底的e的对数。| |Math.PI | 常量π。| |Math.SQRT1_2| 1/2的平方根。| |Math.SQRT2 | 2的平方根。| |abs() | 静态方法, 求绝对值。| |acos() | 静态方法。| |asin() | 静态方法。| |acos() | 静态方法。| |atan() | 静态方法。| |atan2() | 静态方法, 计算X轴到一个点的角度。| |ceil() | 静态方法, 对一个数上舍入。| |cos() | 静态方法。| |exp() | 静态方法, 计算e的指数。| |floor() | 静态方法, 对一个数下舍入。| |log() | 静态方法, 计算自然对数。| |max() | 静态方法。| |min() | 静态方法。| |pow() | 计算参数1的参数2次方。| |radom() | 静态方法。| |round() | 静态方法。| |sin() | 静态方法。| |sqrt() | 静态方法。| |tan() | 静态方法。| **Number对象** |global |对象是否具有性质g。| |--|--| |ignoreCase| 对象是否具有性质i。| |lastIndex |上次匹配后的字符位置,用于一个字符串中进行多次匹配。| |multiline |对象是否具有性质m。| |source |正则表达式的源文本。| |exec() |执行强大的、通用的模式匹配。| |test() |检测一个字符串是否含有某个模式。| **RegExp对象** |global |对象是否具有性质g。| |--|--| |ignoreCase| 对象是否具有性质i。| |lastIndex| 上次匹配后的字符位置,用于一个字符串中进行多次匹配。| |multiline| 对象是否具有性质m。| |source |正则表达式的源文本。| |exec() |执行强大的、通用的模式匹配。| |test() |检测一个字符串是否含有某个模式。| **String对象** |fromCharCode()| 静态方法, 用作为参数而传递的字符代码创建一个新的字符串。| |--|--| |length |字符串的长度。| |charAt() |抽取字符串中指定位置的字符。| |charCodeAt() |返回字符串中指定位置的字符编码。| |concat() |把一个或多个值连接到字符串上。| |indexOf() |在字符串中检索一个字符或一个子串。| |lastIndexOf()| 在字符串中向后检索一个字符或一个子串。| |localeCompare()| 用本地特定顺序来比较两个字符串。| |match() |用正则表达式执行模式匹配。| |replace() |用正则表达式执行查找、替换操作。| |search() |检索字符串中与正则表达式匹配的子串。| |slice() |返回字符串的一个片断或一个子串。| |split() |把字符串分割成一个字符串数组,在指定的分界字符处或正则表达式处执行分割。| |substring()| 从字符串中抽取一个子串。| |substr() |从字符串中抽取一个子串。| |toLowerCase()| 把字符串中所有字符转换成小写的,然后返回一个副本。| |toString() |返回原始的字符串值。| |toUpperCase()| 把字符串中所有字符转换成大写的,然后返回一个副本。| |valueOf() |返回原始字符串值。| String 还有一些与HTML操作特定的方法,但是ECMAScript没有标准化这些方法。 |anchor()| 在<a name=>环境中返回一个字符串的副本。| |--|--| |big() |在<big>环境中返回一个字符串的副本。| |blink()| 在<blink<环境中返回一个字符串的副本。| |bold() |在<b>环境中返回一个字符串的副本。| |indexOf()| 在字符串中检索一个字符或一个子串。| |lastIndexOf()| 在字符串中向后检索一个字符或一个子串。| |localeCompare()| 用本地特定顺序来比较两个字符串。| |match()| 用正则表达式执行模式匹配。| |fixed()| 在<tt>环境中返回一个字符串的副本。| |fontcolor()| 在<font color=>环境中返回一个字符串的副本。| |fontsize() |在<font size=>环境中返回一个字符串的副本。| |italics() |在<i>环境中返回一个字符串的副本。| |link() |在<a href=>环境中返回一个字符串的副本。| |small() |在<small>环境中返回一个字符串的副本。| |strike() |在<strike>环境中返回一个字符串的副本。| |sub() |在<sub>环境中返回一个字符串的副本。| |sup() |在<sup>环境中返回一个字符串的副本。| ## JavaScript的内置对象,属性集锦 用于包含JavaScript代码.   **属性** LANGUAGE 定义脚本语言   SRC 定义一个URL用以指定以.JS结尾的文件   window对象   每个HTML文档的顶层对象.   **属性** frames\[\] 子桢数组.每个子桢数组按源文档中定义的顺序存放.   feames.length 子桢个数.   self 当前窗口.   parent 父窗口(当前窗口是中一个子窗口).   top 顶层窗口(是所有可见窗口的父窗口).   status 浏览器状态窗口上的消息.   defaultStatus 当status无效时,出现在浏览器状态窗口上的缺省消息.   name 内部名,为由window.open()方法打开的窗口定义的名字.   **方法** alert("message") 显示含有给定消息的"JavaScript Alert"对话框.   confirm("message") 显示含有给定消息的"Confirm"对话框(有一个OK按钮和一个Cancel按钮).如果用户单击OK返回true,否则返回false.   prompt("message") 显示一个"prompt"对话框,要求用户根据显示消息给予相应输入.   open("URL","name") 打开一个新窗口,给予一个指定的名字.   close() 关闭当前窗口.   **frame对象** 它是整个浏览器窗口的子窗口,除了status,defaultStatus,name属性外,它拥有window对象的全部属性.  location对象   含有当前URL的信息.   **属性** href 整个URL字符串.   protocol 含有URL第一部分的字符串,如http:   host 包含有URL中主机名:端口号部分的字符串.如//www.onlyaa.com/song   hostname 包含URL中主机名的字符串.如http://www.onlyaa.com port 包含URL中可能存在的端口号字符串.   pathname URL中"/"以后的部分.如~list/index.htm   hash "#"号(CGI参数)之后的字符串.   search "?"号(CGI参数)之后的字符串.   document对象   **含有当前文档信息的对象.** **属性** title 当前文档标题,如果未定义,则包含"Untitled".   location 文档的全URL.   lastModified 含有文档最后修改日期.   referrer 调用者URL,即用户是从哪个URL链接到当前页面的.   bgColor 背景色(#xxxxxx)   fgColor 前景文本颜色.   linkColor 超链接颜色.   vlinkColor 访问过的超链颜色.   alinkColor 激活链颜色(鼠标按住未放时).   forms\[\] 文档中form对象的数组,按定义次序存储.   forms.length 文档中的form对象数目.   links\[\] 与文档中所有HREF链对应的数组对象,按次序定义存储.   links.length 文档中HREF链的数目.   anchors\[\] 锚(...)数组,按次序定义存储.   anchors.length 文档中锚的数目.   **方法** write("string") 将字符串突出给当前窗口.(字符串可以含有HTML标记)   writeln("string") 与write()类似,在结尾追加回车符,只在预定格式文本中生效.   clear() 清当前窗口.   close() 关闭当前窗口.   **form对象** **属性** name 中的NAME属性的字符串值.   method 中METHOD属性的类值,"0"="GET" ,"1"="POST" .   action 中ACTION属性的字符串值.   target 表格数据提交的目标,与标记中相应属性一致.   elements\[index\] elements属性包含form中的各个元素.   length 表格中的元素个数.   **方法** submit() 提交表格.   事件处理器onSubmit() 用户单击一个定义好的按钮提交form时运行的代码.   **text和textarea对象**  **属性** name NAME属性的字符串值.   value 域内容的字符串值.   defaultValue 域内容的初始字符串值.   方法   focus() 设置对象输入焦点.   blur() 从对象上移走输入焦点.   select() 选定对象的输入区域.   **事件处理器** onFocus 当输入焦点进入时执行.   onBlur 当域失去焦点时执行.   onSelect 当域中有部分文本被选定时执行.   onChange 当域失去焦点且域值相对于onFocus执行有所改变时执行.  **复选框(checkbox)对象** **属性** name NAME属性的字符串值.   value 复选框内容的字符串值.如果设置了,则为"on",否则为"off".   checked 复选框内容的布尔值.如果设置了,则为true,否则为false .   defaultChecked 反映(CHECKED)属性的布尔值(缺省状态).   **方法** click() 选定复选框,并使之状态为"on".   **事件处理器** onClick 当用户单击Checkbox时执行.   **单选按钮(radio)对象** **属性** name NAME属性的字符串值.   length radio对象中单选按钮的个数.   value VALUE属性的字符串值.   checked 布尔值,按下为true,否则为false .   defaultChecked 反映CHECKED属性值的布尔值.   **方法** click() 选定单选按钮.   **事件处理器** onClick 当单选按钮被选定时执行. select对象   **属性** length select对象中对象的个数.   name 由NAME=属性定义的select对象的内部名.   selectedIndex select对象中当前被选option的下标.   options 该属性对应于在HTML中定义select对象时标记中的内容,它有如下属性:   text 标记后的文本串.   value VALUE属性的值,当Submit按钮被按下时,该值被提交.   defaultSelected 反映标记的SELECTED属性的布尔值.   selected 反映option的当前选择状态的布尔值.   **事件处理器** onFocus 当输入焦点进入域时执行.   onBlur 当域失去输入焦点时执行.   onChange 当域失去焦点且如果域的值相对于onFocus执行时有所改变,则执行onChange.   **Button对象** 表格中有三种类型按钮,由标记中的TYPE属性定义:   .submit (type="SUBMIT")   .reset (type="RESET")   .custom (type="BUTTON")   所有按钮对象都有如下成分:   **属性** value VALUE属性的字符串值.   name NAME属性的字符串值.   **方法** click() 选定按钮   **事件处理器** onClick 当按钮被单击时执行.   submit和reset对象   **属性** value VALUE=属性的内容.   name NAME=属性的内容.   **方法  ** click() 选定按钮   事件处理器   onClick 当按钮被单击时执行.   **password对象** **属性** defaultValue VALUE=属性的内容.   name NAME=属性的内容.   value 目前输入password域的数据.   方法   focus() 将焦点带入password域.   blur() 将焦点从password域移出.   select() 选定password域中的当前数据,以备修改.  **navigator对象** 该对象用于确定用户访问时使用的Navigator版本.   **属性** appCodeName 相对于用户浏览器的"codename"   appName 相对于用户浏览器的实际名字.   appVersion 相对于用户浏览器的版本号.   userAgent 该属性反映用户浏览器的全部信息.  ###string对象  string对象为操作字符串的内容提供了很多方法.   **属性** length 字符串的长度,即字符串中字符的个数.   **方法** big(),blink(),bold(),fixed(),italics(),small(),sub(),strike(),sup(),fontColor(color),fontSize(size)   以上方法为字符串增加相应的HTML标记.   charAt(index) 返回字符串中index处的字符.   indexOf(searchValue,\[fromIndex\]) 该方法在字符串中寻找第一次出现的searchValue.如果给定了fromIndex,则从字符串内该位置开始搜索,当searchValue找到后,返回该串第一个字符的位置.   lastIndexOf(searchValue,\[fromIndex\]) 从字符串的尾部向前搜索searchValue,并报告找到的第一个实例.   substring(indexA,indexB) 获取自indexA到indexB的子串.   toLowerCase(),toUpperCase() 将字符串中所有字符全部转换成大写,小写.  **Date对象** 要使用Date对象,必须先生成一个Date实例:   变量名=new Date();   **方法** getDay(),getDate(),getHours(),getMinutes(),getMonth(),getSeconds(),getTime(), getTimeZoneOffset(),getYear()   还有setDay... ...   toGMTString() 用GMT格式返回当前时间. (Sun,12 Feb 1999 14:19:22 GMT)   toLocaleString 用locale格式返回当前时间. (03/11/99 14:19:22)   parse(date) 将普通date字符串转换成豪秒形式,从而给setTime()做参数. **Math对象** **属性** LN10 (10的自然对数)   PI (3.1415926...)   SQRT1\_2 (1/2的平方根)   **方法** abs(x) 返回x的绝对值   acos(x) 返回x的arc cosine值   asin(x) 返回x的arc sin值   atan(x) 返回x的arc tangent值   ceil(x) 返回大于等于x的最小整数   cos(x) 返回x的cosine值   exp(x) 返回e的x次方   floor(x) 返回小于等于x的最大整数   log(x) 返回x的   max(x,y) 返回x,y中的大值   min(x,y) 返回x,y中的小值   pow(x,y) 返回x的y次方   round(x) 舍入到最近整数,(小于或等于0.5小数舍去)   sin(x) 返回x的sin值   sqrt(x) 返回x的平方根   tan(x) 返回x的tangent值