javascript的基础知识整理

Basic Objects
Array Properties

constructor  属性返回对创建此对象的数组函数的引用 object.constructor

prototype 属性使您有能力向对象添加属性和方法
object.prototype.name=value

length 属性可返回字符串的字符数目
stringObject.length

Array Methods

concat() 方法用于连接两个数组或者多个数组 该方法不会改变现有的数组而仅仅会返回被连接的数组的一个副本
语法arrayObject.concat(arrayX,);

indexOf() 方法 返回某个指定的字符串的字符串字符串首次出现的位置
stringObject.indexOf(searchvalue,fromindex)
searchvalue 必需。规定需检索的字符串值。
fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如
省略该参数,则将从字符串的首字符开始检索


lastIndexOf()返回一个指定的字符串最后出现的位置 在一个字符串中的指定位置从后向前搜索
stringObject.indexOf(searchvalue,fromindex)

join()方法用于把数组中的所有的元素放入-个字符串

pop() 用于删除并返回数组的最后一个元素
arrayObject.pop()
pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则
pop() 不改变数组,并返回 undefined 值

shift()方法用于把数组的第一个元素从其中删除并返回第一个元素的值
arrayObject.shift()
如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject

push() 向数组的末尾添加一个或更多元素并返回新的数组长度
arrayObject.push(newelement1,newelement2,....,newelementX);push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能

reverse() 颠倒数组中元素的顺序
arrayObject.reverse()该方法会改变原来的数组,而不会创建新的数组

slice() 方法可从已有的数组中返回选定的元素
arrayObject.slice(start,end)
start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()

splice()方法向/从数组中添加/删除项目,然后返回被删除的项目 该方法会改变原始数组

arrayObject.splice(index,howmany,item1)

index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组添加的新项目
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组

sort()方法 用于数组的元素进行排序
arrayObject.sort(sortby)
对数组的引用。请注意,数组在原数组上进行排序,不生成副本

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值

toString() 方法可把数组转换为字符串,并返回结果
arrayObject 的字符串表示。返回值与没有参数的 join() 方法返回的字符串相同
当数组用于字符串环境时,JavaScript 会调用这一方法将数组自动转换成字符串。但是在某些情况下,需要显式地调用该方法

Boolean Properties

Boolean对象用于转换一个不是boolean类型的值转换为boolean类型值(true或者false)
constructor属性返回对创建此对象的boolean函数的引用
boolean.constructor

toString() 把布尔值转换为字符串,并返回结果
当需要把boolean对象转换成字符串的情况javascript会自动调用此方法
boolean.toString();

Math Properties

valueOf()方法可返回Boolean对象的原始值
boolean.valueOf()
valueOf() 返回Boolean对象的原始值

E   自然对数e约等于2.718 Math.LN2

LN2    loge2即2的自然对数 0.693 Math.LN10

LN10   loge10,即 10 的自然对数,其值近似于 2.3025850929940459011

LOG2E   以 2 为底的 e 的对数(约等于 1.414)

LOG10E   返回以 10 为底的 e 的对数(约等于0.434)

PI   返回圆周率(约等于3.14159

SQRT1_2   回 2 的平方根的倒数(约等于 0.707)

SQRT2 2   的平方根


Math Methods

abs(x) 返回x的绝对值
Math.abs(x)

acos(x) x 的反余弦值
Math.acos(x)
acos() 方法可返回一个数的反余弦。返回的值是 0 到 PI 之间的弧度值
注意:如果参数 x 超过了 -1.0 ~ 1.0 的范围,那么浏览器将返回 NaN

asin(x) x 的反正弦值
如果参数 x 超过了 -1.0 ~ 1.0 的范围,那么浏览器将返回 NaN

atan(x) 方法可返回数字的反正切值
返回的值表示坐标(x,y)与x轴之间的角度的弧度

atan2(y,x) 从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)
atan2()有两个参数, y坐标是作为第一个参数传递, X坐标作为第二个参数传递。
Math.atan2(y,x)

ceil(x) 对数进行上舍入
Math.ceil
ceil方法是向上取整计算它返回的是大于或等于函数参数,并且与之最接近的整数

floor(x) 对数进行向下舍入
返回小于等于x的最大整数
Math.floor()

exp(x) 返回Ex 的指数
e 的 x 次幂的值
Math.exp(x)

log(x) 返回数的自然对数 低为e
log() 方法可返回一个数的自然对数(基于E) x为负数返NaN x为0 返回-Infinity
Math.log(x)

max(x,y,.....z) 返回两个指定数中带较大的值的那个数

min(x,y,....z) 返回两个指定书中较小的那个数

pow(x,y) x的y次幂

random() 返回介于 0(包含) ~ 1(不包含) 之间的一个随机数
1 到 100 之间的一个随机数
Math.floor(Math.random()*100+1);

round(x) 把数四舍五入为最接近的整数

sqrt(x) x 小于 0,则返回 NaN
tan(x) 可返回一个表示某个角的正切的数字

Number Properties

constructor

MAX_VAlUE属性是javascript中可表示的最大的数
Number.MAX_VALUE

MIN_VALUE属性是javascript中可表示的最小的数
Number.MIN_VALUE

NaN 非数字值的特殊值
isNaN() 全局函数来判断一个值是否是 NaN 值
Number.NaN
请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己

NEGATIVE_INFINITY属性表示小于 Number.MIN_VALUE 的值 负无穷大

POSITIVE_INFINITY 属性表示大于 Number.MAX_VALUE 的值 正无穷大

Number Methods

toExponential(x) 方法可把对象的值转换成指数计算法

NumberObject.toExponential(num)

num 必需。规定指数计数法中的小数位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的
数值范围。如果省略了该参数,将使用尽可能多的数字

toFixed() 方法可把Number四舍五入为指定小数位的数字
NumberObject.toFixed(num) 0-20
保留一位小数
toFixed(1)

toPrecision() 方法可在对象的值超出指定位数时将其转换为指数计算法
NumberObject.toPrecision(num)

toString() 方法可把一个Number对象转换为一个字符串,并返回结果
NumberObject.toString(radix)
radix 可选 规定表示数字的基数 2-36之间的整数 省略用基数10
参数是 10 以外的其他值,则 ECMAScript 标准允许实现返回任意值
抛出 当调用该方法的对象不是 Number 时抛出 TypeError 异常

 

toLocaleString() 方法可把一个 Number 对象转换为本地格式的字符串

valueOf() 方法可以字符串返回数字。
字符串的输出通常等于该数字。
valueOf() 方法通常由 JavaScript 在后台自动进行调用,而不是显式地处于代码中

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


String Methods

charAt() 方法可返回指定位置的字符
stringObject.charAt(index) 必需表示字符串中某个位置的字符串即及字符串的下标
下标是0-string.length
index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN


charCodeAt() 方法可返回指定位置的字符的Unicde 0-65535
方法 charCodeAt() 与 charAt() 方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串

stringObject.charCodeAt(index)

concat()连接两个或者更多的字符串
stringObject.concat(stringX,stringY)
stringX 必需。将被连接为一个字符串的一个或多个字符串对象

formCharCode() 可接受一个指定的Unicode值然后返回一个字符串
string.fromCharCode(numX,numX)
numX必需 一个或多个 Unicode 值,即要创建的字符串中的字符的 Unicode 编码
该方法是 String 的静态方法,字符串中的每个字符都由单独的数字 Unicode 编码指定。
它不能作为您已创建的 String 对象的方法来使用因此它的语法应该是 String.fromCharCode(),而不
是 myStringObject.fromCharCode()

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置
stringObject.indexOf(searchvalue,formindex);
searchvalue 必需检索的字符串值
formindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到
stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索
indexOf() 方法对大小写敏感
如果要检索的字符串值没有出现,则该方法返回 -1

lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置在一个字符串中指定位置从后向前检索
stringObject.lastIndexOf(searchvalue,fromindex)

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配
类似indexOf和lastIndexOf() 但它返回指定的值,不是字符串的位置
stringObject.match(searchvalue);
stringObject.match(regexp);
searchvalue 必需 规定要检索的字符串值。


regexp

必需 规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递
给 RegExp 构造函数,将其转换为 RegExp 对象

RegExp对象表示正则表达式,它是对字符串执行模式匹配的强大工具
直接量语法
/parttren/attributes
创建RegExp

创建RegExp对象的语法
new Regxp(parttren,attributer);
parttren是一个字符串,指定了正则表达式的某式或其他正则表达式
attributes是一个可选的字符串,包含属性“g”,“i”,“m”分别用于指定全局匹配,区分大小写的匹配和多行匹配

pattern 是正则表达式,而不是字符串,则必须省略该参数

返回值
一个新的 RegExp 对象,具有指定的模式和标志。如果参数 pattern 是正则表达式而不是字符串,那么 RegExp() 构造函数将用与指定的 RegExp 相同的模式和标志创建一个新的 RegExp 对象。
如果不用 new 运算符,而将 RegExp() 作为函数调用,那么它的行为与用 new 运算符调用时一样,只是当 pattern 是正则表达式时,它只返回 pattern,而不再创建一个新的 RegExp 对象

方括号 方括号用于查找某个范围内的字符

[abc] 表达式用于查找方括号之间的任何字符 字符可以是任何字符或字符范围

语法 new RegExp("[abc]");
直接量语法 /[abc]/

[^abc]表达式用于查找任何不在方括号之间的字符 字符可以是任何字符或字符范围
语法 new RegExp("[^abc]");
直接量语法 /[^abc]/

[0-9] 查找任何从0至9的数字
[a-z] 查找任何从小写a小写z的字符
[A-Z] 查找任何从大写A大写Z的字符
[A-z] 查找任何从大写A至小写z的字符
[adgk] 查找给定集合内的任何字符
[^adgk] 查找给定集合外的任何字符

元字符
. 查找单个字符,除了换行和行结束符
语法 new RegExP("regexp.")
直接量语法 /regexp./

(red|blue|green) 查找任何指定的选项

 

\w 查找单词字符 单词字符包括:a-z,A-Z,0-9,以及下划线_
语法 new RegExp("\w")
直接量语法 /\w/

\W 查找非单词字符
语法 new RegExp("\W")
直接量语法 /\W/


\d 查找数字
new RegExp("/d");
直接量语法/\d/
\D 查找非数字

\s 查找空白字符
\S 查找非空白字符

\b 匹配单词边界
在单词边界匹配的位置,单词字符后面或前面不与另一个单词字符直接相邻。请注意,匹配的单词边界并不包含在匹配中。换句话说,匹配的单词边界的长度为零 [\b] 混淆 未找到匹配,则返回 null
语法 new RegExp("\bregexp")
直接量语法 /\bregexp/

\B 匹配非单词边界
\B 元字符匹配非单词边界。匹配位置的上一个和下一个字符的类型是相同的:即必须同时是单词,或必须同时是非单词字符。字符串的开头和结尾处被视为非单词字符。
如果未找到匹配,则返回 null。
提示:\B 元字符通常用于查找不处在单词的开头或结尾的匹配。
例如:/\B../ 匹配 "noonday" 中的 'oo',而 /y\B./ 匹配 "possibly yesterday." 中的 'ye'
new RegExp("\Bregexp")
/\Bregexp/


\0 查找NUL字符
\n 查找换行符 回换行符被找到的位置 未找到匹配,则返回 -1
new RegExp("/n") /\n\
\f 查找换页符
\r 查找回车符
\t 查找制表符
\v 查找垂直制表符
\xxx 查找以八进制XXX规定的字符
\xdd 查找以十六进制数dd规定的字符
\uxxxx 查找以十六进制数xxxx规定的unicode

 

量词

n+ 匹配任何包含至少一个 n 的字符串。
n* 匹配任何包含零个或多个 n 的字符串
n? 匹配任何包含零个或一个 n 的字符串
n{X} 匹配包含 X 个 n 的序列的字符串
n{X,Y} 匹配包含 X 或 Y 个 n 的序列的字符串
n{X,} 匹配包含至少 X 个 n 的序列的字符串
n$ 匹配任何结尾为 n 的字符串
^n 匹配任何开头为 n 的字符串
?=n 匹配任何其后紧接指定字符串 n 的字符串
?!n 匹配任何其后没有紧接指定字符串 n 的字符串

 

RegExp 对象属性

global RegExp 对象是否具有标志 g
ignoreCase RegExp 对象是否具有标志 i
lastIndex 一个整数,标示开始下一次匹配的字符位置
multiline RegExp 对象是否具有标志 m
source 正则表达式的源文本


RegExp 对象方法
compile 编译正则表达式
exec 检索字符串中指定的值。返回找到的值,并确定其位置
test 检索字符串中指定的值。返回 true 或 false

 

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

search 检索与正则表达式相匹配的值

match 找到一个或多个正则表达式的匹配

replace  替换与正则表达式匹配的子串
split  把字符串分割为字符串数组

 

Date 对象方法

Date()返回当前日期时间


getDate()  从Date 对象返回一个月的某一天(1-31)
dateObject.getDate(); 总是结合一个Date对象使用

getDay()  从Date 对象返回一周中的某一天 (0 -6)
dateObject.getDay();总是结合一个Date对象使用

getMonth()  从Date 对象返回月份(0-11)
dateObject() 总是结合一个 Date 对象来使用

getFullYear()  从Date 对象以四位数字返回年份
dateObject.getFullYear() 世纪值在内的完整年份,而不是两位数的缩写形式 总是结合一个 Date 对
象来使用

getYear() 请使用getFullYear()方法代替 年份的两位或四位的数字
dateObject.getYear()
由 getYear() 返回的值不总是 4 位的数字!对于介于 1900 与 1999 之间的年份,getYear() 方法仅
返回两位数字。对于 1900 之前或 1999 之后的年份,则返回 4 位数字

getHours() 返回Date对象的小时(0-23)

dateObject.getHours() 方法总是结合一个 Date 对象来使用

getMinutes() 返回Date对象的分钟(0-59)
dateObject.getMinutes() 方法总是结合一个 Date 对象来使用

getSeconds() 返回Date对象的秒数(0-59)
dateObject.getSeconds() 方法总是结合一个 Date 对象来使用

getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)
dateObject.getMilliseconds() 方法总是结合一个 Date 对象来使用

getTime() 返回1970年1月1日至今的毫秒数
dateObject.getTime() 方法总是结合一个 Date 对象来使用

getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差

getTimezoneOffset() 方法返回的是本地时间与 GMT 时间或 UTC 时间之间相差的分钟数。实际上,该
函数告诉我们运行 JavaScript 代码的时区,以及指定的时间是否是夏令时

getUTCDate() 世界时从 Date 对象返回月中的一天 (1 ~ 31)


getUTCDay() 世界时从 Date 对象返回周中的一天 (0 ~ 6)


getUTCMonth() 世界时从 Date 对象返回月份 (0 ~ 11)


getUTCFullYear() 世界时从 Date 对象返回四位数的年份


getUTCHours() 世界时返回 Date 对象的小时 (0 ~ 23)


getUTCMinutes() 世界时返回 Date 对象的分钟 (0 ~ 59)


getUTCSeconds() 世界时返回 Date 对象的秒钟 (0 ~ 59)


getUTCMilliseconds() 世界时返回 Date 对象的毫秒(0 ~ 999)

parse() 返回1970年1月1日午夜到指定日期("字符串")的毫秒数

setDate() 设置Date对象中月的某一天(1-31)
dateObject.setDate(day);

setMonth() 设置Date对象中某一月
dateObject.setMonth(month,day)
month必须 day可选

setFullYear() 设置年份
dateObject.setFullYear(year,month,day)

setYear() 请使用 setFullYear() 方法代替

setHours() 设置指定的时间的小时字段 (0-23)
dateObject.setHours(hours,min,sec,millisec)

setMinutes() 设置指定时间的分钟字段 (0-59)
dateObject.setMinutes(min,sec,millisec)

setSeconds() 设置指定时间的秒钟 (0-59)
dateObject.setSeconds(sec,millisec)

setMilliseconds() 设置指定时间的毫秒字段
dateObject.setMilliseconds(millisec)

setTime() 以毫秒设置 Date 对象
dateObject.setTime(millisec)

setUTCDate() 世界时设置 Date 对象中月份的一天 (1 ~ 31)
setUTCMonth() 世界时设置 Date 对象中的月份 (0 ~ 11)
setUTCFullYear() 世界时设置 Date 对象中的年份(四位数字)
setUTCHours() 世界时设置 Date 对象中的小时 (0 ~ 23)
setUTCMinutes() 世界时设置 Date 对象中的分钟 (0 ~ 59)
setUTCSeconds() 世界时设置 Date 对象中的秒钟 (0 ~ 59)
setUTCMilliseconds() 世界时设置 Date 对象中的毫秒 (0 ~ 999)

toSource() 返回该对象的源代码
object.toSource() 在IE中无效

toString() 把 Date 对象转换为字符串
toTimeString() 把 Date 对象的时间部分转换为字符串
toDateString() 把 Date 对象的日期部分转换为字符串
toGMTString() 请使用 toUTCString() 方法代替
toUTCString() 根据世界时,把 Date 对象转换为字符串
toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串
toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串
toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串
UTC() 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数
valueOf() 返回 Date 对象的原始值

 

posted @ 2016-10-17 17:18  曦雨幽兰  阅读(831)  评论(0编辑  收藏  举报