JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
javascript 对象
JS Array
forEach()
Javascript
的forEach()
标准格式
1 | array1.forEach(callbackfn[, thisArg]) |
** 参数 **
arry1
必需 一个数组callbackfn
必需 一个最多可以接受三个参数的函数,对于数组中的每一个元素,forEach
都会调用callbackfn
函数一次thisArg
可选 可在callbackfn
函数中为其引用this
关键字的对象,如果省略thisArg
,则undefined
将用做this
的值
** 注意 **
- 如果
callbackfn
参数不是函数对象,则将引发TypeError
异常。 - 对于数组中的每个元素,
forEach
方法都会调用callbackfn
函数一次(采用升序索引顺序)。 - 不为数组中缺少的元素调用该回调函数。
- 除了数组对象之外,
forEach
方法可由具有length
属性且具有已按数字编制索引的属性名的任何对象使用。
** callbackfn语法 **
回调函数callbackfn
的标准格式:
1 | function callbackfn(value, index, array1) |
可使用最多三个参数来声明回调函数。
回调参数含义:
value
数组元素的值。
index
数组元素的数字索引。
array1
包含该元素的数组对象。
** 修改数组对象 **forEach
方法不直接修改原始数组,但回调函数可能会修改它。 下表描述了在 forEach 方法启动后修改数组对象所获得的结果。
forEach
方法启动后的条件—————–元素是否传递给回调函数?
- 在数组的原始长度之外添加元素————-否。
- 添加元素以填充数组中缺少的元素———–是,如果该索引尚未传递给回调函数。
- 元素已更改——————————-是,如果该元素尚未传递给回调函数。
- 从数组中删除元素————————-否,除非该元素已传递给回调函数。
下面的示例阐释了 forEach
方法的用法。
1 | // Define the callback function. |
在下面的示例中,callbackfn
参数包含回调函数的代码。
1 | // Create an array. |
下面的示例阐释了 thisArg
参数的用法,该参数指定可对其引用 this
关键字的对象。
1 | // Define the object that contains the callback function. |
JS Math
Math对象用于执行数学任务
使用Math的属性和方法的语法
1 | var pi_value = Math.PI; |
注释
Math 对象并不像 Date
和 String
那样是对象的类,因此没有构造函数 Math()
,像 Math.sin()
这样的函数只是函数,不是某个对象的方法。您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。
Math 对象属性
1 | 属性 描述 |
Math 对象方法
1 | 方法 描述 |
JS Number
Number() 函数把对象的值转化为数字
JS Date
setTimeout()
js的setTimeout方法用处比较多,通常用在页面刷新了、延迟执行了等等
意义:setTimeout()
方法用于在指定的毫秒数后调用函数或计算表达式
语法:setTimeout(code,millisec)
参数:code
—— 延时后需执行的代码millisec
—— 延时时间
提示:setTimeout()
只执行code
一次。如果要多次调用,请使用 setInterval()
或者让 code
自身再次调用 setTimeout()
。
示例
1 | <!DOCTYPE html> |
setInterval()
意义:setInterval()
方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。setInterval()
方法会不停地调用函数,直到 clearInterval()
被调用或窗口被关闭。由 setInterval()
返回的 ID
值可用作 clearInterval()
方法的参数。
语法:setInterval(code,millisec[,'lang'])
参数:code
—— 要调用的代码millisec
—— 周期性执行或调用code
之间的时间间隔,单位毫秒
区别
setTimeout
只运行一次,也就是说设定的时间到后就触发运行指定代码,运行完后即结束。如果运行的代码中再次运行同样的setTimeout
命令,则可循环运行。(即 要循环运行,需函数自身再次调用 setTimeout()
)
而 setinterval
是循环运行的,即每到设定时间间隔就触发指定代码。这是真正的定时器。
setinterval
使用简单,而setTimeout
则比较灵活,可以随时退出循环,而且可以设置为按不固定的时间间隔来运行,比如第一次1秒,第二次2秒,第三次3秒。
clearTimeout()
语法:clearTimeout(timeoutID)
说明:要使用 clearTimeout( ), 我们设定 setTimeout( ) 时 , 要给予这 setTimout( ) 一个名称 , 这名称就是 timeoutID , 我们叫停时 , 就是用这 timeoutID 来叫停 , 这是一个自定义名称 , 但很多人就以 timeoutID 为名
示例:
1 | <!DOCTYPE html> |
JS Functions
parseInt()
含义:parseInt()
函数可解析一个字符串,并返回一个整数。
语法:
1 | parseInt(string, radix) |
参数 描述string
必需。要被解析的字符串。radix
可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
- 如果省略
radix
参数或其值为0
,则数字将以10
为基础来解析。如果它以“0x”
或“0X”
开头,将以16
为基数。 - 如果
radix
参数小于2 或者大于
36,则
parseInt()将返回
NaN`。
返回值:
返回解析后的数字。
说明:
当参数 radix
的值为 0
,或没有设置该参数时,parseInt()
会根据 string
来判断数字的基数。
举例,如果 string
以 "0x"
开头,parseInt()
会把 string
的其余部分解析为十六进制的整数。如果 string
以 0
开头,那么 ECMAScript v3
允许 parseInt()
的一个实现把其后的字符解析为八进制或十六进制的数字。如果 string
以 1 ~ 9
的数字开头,parseInt()
将把它解析为十进制的整数。
提示
- 只有字符串中的第一个数字会被返回。
- 开头和结尾的空格是允许的。
- 如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。
- *示例**
1
2
3
4
5
6parseInt("10"); //返回 10
parseInt("19",10); //返回 19 (10+9)
parseInt("11",2); //返回 3 (2+1)
parseInt("17",8); //返回 15 (8+7)
parseInt("1f",16); //返回 31 (16+15)
parseInt("010"); //未定:返回 10 或 8
number()
Number()
函数把对象的值转化为数字
语法
1 | Number(object) |
参数
1 | 参数 描述 |
返回值
- 如果参数是Date对象,Number()返回的是从1970 年 1 月 1 日至今的毫秒数
- 如果对象的值无法转换为数字,那么 Number() 函数返回 NaN
实例
1 | <script type="text/javascript"> |
1 | # 输出 |