JS控制流程语句
JavaScript的分支语句
if语句
-
语法一:
if(condition){
statement1;
} -
语法二:
if(condition) {
statement1;
}else {
statement2;
} -
语法三:
if(condition) {
statement1;
}else if {
statement2;
}…else{
satement3;
}
prompt
- 功能:弹出输入框
- 语法:prompt()
- 返回值:
(1)点击确定,返回输入内容。
(2)点击取消,返回null。
获得星期的语法
- 功能:获得星期
- 语法:new Date().getDay()
- 返回值:number(0-6)
switch语句
- 语法:
switch( expression ){
case value: satement
break;
case value: satement
break;
…
default:statement
}
输出
- 功能:向浏览器输出内容
- 语法:document.write(“内容”)
JavaScript的循环语句
for语句
- 语法:
for(语句1;语句2;语句3){
被执行的代码块;
}
语句1:在循环(代码块)开始前执行
语句2:定义运行循环(代码块)的条件
语句3:在循环(代码块)已被执行之后执行
while语句
- 语法:
while(条件){
所执行的代码;
}
do-while语句
- 语法:
do{
需要执行的代码;
}while(条件)
说明:这种语法的循环至少要被执行一次。
for 与 while 的区别 |
---|
for: 适合已知循环次数的循环 |
while: 适合未知循环次数的循环 |
嵌套
当循环与循环发生嵌套时遵循下列规则:
1、外层为假时内层不执行
2、先执行外层再执行内层,直至内层条件为假时再返回外层去执行
break语句
功能: 立即退出循环,继续开始下一次。
continue语句
功能:结束本次循环,继续开始下一次。
JavaScript函数
函数的定义和调用
-
函数的作用
通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。 -
函数的定义
函数使用function声明,后跟一组参数以及函数体,语法如下:
function functionName( [arg0, arg1…argn] ){
statements;
}说明:
(1)functionName是要定义的函数名,属于标识符。
(2)[ ]中的arg0, arg1…argn为函数的参数。 -
函数的调用
函数名([ arg0, arg1…argn ]) -
函数的参数
显式参数(Parameters)与隐式参数(Arguments)说明:
1、函数显式参数在函数定义时列出。
2、函数隐式参数在函数调用时传递给函数真正的值。参数规则
1、JavaScript 函数定义显式参数时没有指定数据类型。
2、JavaScript 函数对隐式参数没有进行类型检测。
3、JavaScript 函数对隐式参数的个数没有进行检测。arguments
ECMAScript中的参数在内部用一个数组来表示
在函数体内通过arguments对象来访问这个参数。
说明:
(1)arguments与数组类似,并不是Array的实例
(2)[]语法访问它的每一个元素
(3)length属性queuing传递参数的个数
//求任意一组数的平均值
functiong getAvg(){
var sum=0, len=arguments.length, i;
for(i=0;i<len;i++){
sum += arguments[i];
}
return sum/len
}
var avg = getAvg(1,2,3);
console.log(avg);
通过值传递参数
在函数中调用的参数是函数的隐式参数。
JavaScript 隐式参数通过值来传递:函数仅仅只是获取值。
如果函数修改参数的值,不会修改显式参数的初始值(在函数外定义)。
隐式参数的改变在函数外是不可见的
通过对象传递参数
在JavaScript中,可以引用对象的值。
因此我们在函数内部修改对象的属性就会修改其初始的值。
修改对象属性可作用于函数外部(全局变量)。
修改对象属性在函数外是可见的。
函数的返回值
任何函数通过return语句,后面跟着返回的值来实现返回值。
JavaScript内置对象
内置对象之数组array
1、创建数组
创建数组的两种基本方式
-
使用Array构造函数
语法:new Array()
说明【()小括号 】:
(1)预先知道数组要保存的项目数量。
(2)向Array构造函数中传递数组应包含的项。 -
使用数组字面量
语法:let demo = [ ]
2、 数组的方法
-
push()
功能:把它的参数顺序添加到 arrayObject 的尾部
语法:arrayObject.push(new1,new2,…newX)
返回值:把指定的值添加到数组后的新长度。 -
unshift()
功能:把他的参数顺序的添加到arrayObject 的开头
语法:arrayObject.unshift(new1,new2,…newX)
返回值:把指定的值添加到数组后的新长度。 -
pop()
功能:删除arrayObject的最后一个元素。
语法:arrayObject.pop()
返回值:被删除的那个元素。 -
shift()
功能:删除arrayObject中的第一个元素
语法:arrayObject.shift()
返回值:被删除的那个元素。 -
join()
功能:用于把数组中的所有元素放入一个字符串。
语法:arrayObject.join(separetor)
返回值:字符串。 -
reverse()
功能:用于颠倒数组中元素的顺序。
语法:arrayObject.reverse()
返回值:数组。 -
sort()
功能:用于对数组中元素进行排序。
语法:arrayObject.sort(sortie)
返回值:数组。
说明:
(1)即使数组中每一项都是数组,sort()方法也是字符串
(2)sort()方法可以接收一个比较函数作为函数作为参数。 -
concat()
功能:用于连接两个或多个数组。
语法:arrayObject.concat( arrayX, arrayX… arrayX )
返回值:数组。 -
slice()
功能:从已有数组中返回选定的元素
语法:arrayObject.slice()
参数:
start(必需)规定从何处开始选取,如是负数,从数组尾部开始算起。
end(可选)规定从何处结束选取,是数组片断结束处数组的下标。
说明:
(1)如没指定end,切分的数组包含从start到数组结束的所有元素。
(2)如slice()方法的参数中有一个负数,则使用数组长度加上该数来确定相应的位置。
返回值:数组。 -
splice()
(1)删除
功能:删除从index处开始的零个或多个元素。
语法:arrayObject.splice(index,count)
返回值:含有被删除的元素的数组。(2)插入
功能:在指定位置处插入值。
语法:arrayObject.splice(index,0,item1…itemX)
参数:index (起始位置),0(要删除的项数)(3)替换
功能:在指定位置插入值,且同时删除任意数量的项
语法:arrayObject.splice(index,count,item1,…itemX)
参数:index(起始位置), count(要删除的项数),item1…itemX(要插入的项) -
indexOf()
功能:从数组的开头(位置0)开始向后查找
语法:arrayObject.indexOf( searchvaule,startindex )
参数:searchvaule(必须,要查找的项);startindex(可选,起点位置的索引)
返回值:number,查找的项的位置,没有则返回-1 -
lastIndexOf()
功能:从数组末尾开始向前查找。
语法:arrayObject.lastIndexOf( searchvaule,startindex )
参数:searchvaule(必须,要查找的项);startindex(可选,起点位置的索引)
返回值:number,查找的项的位置,没有则返回-1 -
数组长度
功能:获得数组的长度
语法:array.length
返回值:number
说明:
(1)通过设置length可以从数组的末尾移除或向数组中添加新项
(2)把一个值放在超出当前数组大小的位置上时,回重新计算数组长度值,长度值等于最后一项索引加1.
内置对象之string
1, 字符串对象的方法
-
charAt() 和charCodeAt()
功能:返回stringObject中index位置的字符
语法:stringObject.charAt( index )功能:返回stringObject中index位置的字符编码
语法:stringObject.charCodeAt( index ) -
indexOf()
功能:从一个字符串中搜索给定的子字符串,返回字符串位置。
语法:stringObject.indexOf("") -
lastIndexOf()
功能:从一个字符串中搜索给定的子字符串,返回字符串位置。
语法:stringObject.lastIndexOf("")
返回值:数值,若没有找到,则返回-1 -
split()
功能:把一个字符串分割成字符串数组
语法:stringObject.split( separator )
返回值:Array
说明:separator:必须,分隔符。 -
replace()
功能:在字符串中使用一些字符替换一些字符,或者替换一个正则表达式匹配的子串。
语法:stringObject.replace( regexp/substr,replacement )
返回值:string
参数:regexp(必须,规定子字符串或要替换的模式的
regExp对象),replacement(必须,一个字符串值) -
toUpperCase()
功能:把字符串转化为大写
语法:stringObject. toUpperCase( ) -
toLowerCase()
功能:把字符串转化为大写
语法:stringObject. toLowerCase( ) -
slice()
功能:截取子字符串
语法:stringObject.slice(start,end)
参数说明:
(1)start:必需,指定子字符串的开始位置
(2)end:可选,表示子字符串到哪里结束,end本身不在截取范围之内,省略时截取至字符串的末尾。
(3)当参数为负数时,其值为字符串长度+该负数。 -
substring()
说明:语法及功能与slice()完全一样
区别在于:
(1)当参数为负数时,自动将自动转化为0. -
substr()
功能:截取子字符串
语法:stringObject.substr(start,len)
参数说明:
(1)start:必需,指定子字符串的开始位置
(2)end:可选,表示子字符串到哪里结束,end本身不在截取范围之内,省略时截取至字符串的末尾
(3)当strat为负数时,会将传入的负值与字符串的长度相加
(4)当len为负数时,返回空字符串。
内置对象之Math
math对象的方法
-
Math.min()
功能:求一组数中的最小值
语法:Math.min(num1,num2…numN)
返回值:number -
Math.max
与Math.min()同理 -
Math.ceil()
功能:向上取整,即返回大于num的最小整数
语法:Math.ceil(num)
返回值:number -
Math.floor()
功能:向下取整,返回num的整数部分
语法:Math.floor(num)
返回值:number -
Math.round()
功能:将数值四舍五入为最接近的整数
语法:Math.min(num)
返回值:number -
Math.abs()
功能:返回num的绝对值
语法:Math.abs(num)
返回值:number -
Math.round()
功能:返回大于等于0小于1的一个随机数
语法:Math.random()
返回值:number
说明:
求n到m之间的随机整数的公式:
random = Math.floor(Math.random()*(m-n+1)+n);
JavaScript中的date对象
1、创建一个日期对象
语法:new Data();
返回值:不传参的情况下,返回当前的日期时间对象。
2、获得年月日时及星期的方法
3、设置年月日时及星期的方法
参考资料:慕课网,菜鸟教程