函数:函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
函数就是包裹在花括号中的代码块,前面使用了关键词 function,当调用该函数时,会执行函数内的代码。
可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。
//函数的应用场景
//煮饺子,这是一个 *** 作,需要多行代码来实现,此时一般封装成函数
//function baoJiaoZi(){ //驼峰命名方式
// console.log("买肉,买菜")
// console.log("洗刷刷")
// console.log("剁,和面")
// console.log("包饺子")
// console.log("煮饺子")
// console.log("端上桌")
//}
//做披萨
//function zuoPiSa(){
// console.log("和面")
// console.log("包")
// console.log("上锅")
// console.log("端上桌")
//}
//女神发号施令包饺子,调用函数
//baoJiaoZi //不报错,但不调用函数
//baoJiaoZi() //函数名() 表示调用
//console.log("程序执行结束")
//function baoJiaoZi(meat,vegetables){ //驼峰命名方式
// console.log("买:",meat,vegetables)
// console.log("洗刷刷")
// console.log("剁,和面")
// console.log("包饺子")
// console.log("煮饺子")
// console.log("端上桌")
//}
//函数中没有参数,但调用时,传入参数,不报错,可行,与Java c 不同。
//这种写法,不够直观,工作中一般不用,但可能会出笔试题。
//function baoJiaoZi(meat,vegetables){ //驼峰命名方式
// //console.log(arguments) // arguments是数组类型
// //console.log(typeof arguments)
// console.log("买",arguments[0],arguments[1])
// console.log("洗刷刷")
// console.log("剁,和面")
// console.log("包饺子")
// console.log("煮饺子")
// console.log("端上桌")
//}
//baoJiaoZi("驴肉","大葱")
//做数学运算,肯定要有参数,也要有返回值
//写一个简单的加法,没意义,只是为了掩饰效果
function add(a,b){
var res = a + b //步骤1 执行赋值运算符右侧的部分,即:a+b
//步骤2 将a+b的结果,赋值给左侧的res
return res //将res的结果返回
}
//将add()函数的执行结果,赋值给c
var c = add( 1 , 2 )
console.log("c = ",c)
console.log("程序执行结束")
return:
有时,我们会希望函数将值返回调用它的地方。通过使用 return 语句就可以实现。
在使用 return 语句时,函数会停止执行,并返回指定的值。
//在函数中,return也可以用在if语句
function xiuXianLevel(score){
if(score>=95){
return("渡劫")
}
else if(score>=90){
return("大乘")
}
else if(score>=80){
return("合体")
}
else if(score>=70){
return("元婴")
}
else if(score>=60){
return("金丹")
}
else {//没有必要再做判断
return("筑基")
}
}
//var res = xiuXianLevel(92)
//console.log("res = ",res)
function game(){
for (var i = 1; i < 30; i++) {
if ( i%7 == 0) { //表示7的倍数
return i //当i为7时,就返回(终止循环) 注意:return要在函数中,不在函数中会报错
}
console.log(i)
}
}
var res = game()
console.log("res = ",res)
函数表达式:
//普通函数
//function baoJiaoZi(){ //驼峰命名方式
// console.log("买肉,买菜")
// console.log("洗刷刷")
// console.log("剁,和面")
// console.log("包饺子")
// console.log("煮饺子")
// console.log("端上桌")
//}
//函数表达式,可以理解为:匿名函数,且赋给变量
//注意:这不是调用函数,并获取函数的返回值
var baoJiaoZi = function(meat,vegetables){ // 没有名,所以叫匿名函数
console.log("买:",meat,vegetables)
console.log("洗刷刷")
console.log("剁,和面")
console.log("包饺子")
console.log("煮饺子")
console.log("端上桌")
console.log("滚蛋")
return "你是个好人,可是我们不合适!"
}
var res = baoJiaoZi("羊杂","猪腰子")
console.log("res = ",res)
console.log("baoJiaoZi = ",baoJiaoZi) //baoJiaoZi后面没有(),不是调用函数,打印函数对象
console.log("typeof baoJiaoZi 结果:",typeof baoJiaoZi)
Math:
Math 对象用于执行数学任务。
Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math()。
console.log(window)
//window 表示当前打开的浏览器窗口
//通过window 可以实现很多根据浏览器相关的功能
//如:alert()警告对话框,就是与浏览器相关
//window.alert("1")
//window可以省略
//alert(“1”)
var max = window.Math.max(1,2)
console.log("max=",max)
var random = Math.random()
console.log("random=",random)
console.log("-1的绝对值",Math.abs(-1) )
//Math.PI = 1.2
console.log("pi :",Math.PI)//常量(不可改变)名一般大写
string:字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和 *** 作字符串。
//var s = "三藏,悟空,八戒,悟净"
//console.log(s.length) //16.返回字符串的长度,就是返回字符串有多少个字符
//应用场景,注册时,密码长度的校验,不能少于8位
var password = "12345678"
var len = password.length //获取password的长度,将长度赋值给password
if (len < 8) {
alert("密码不能少于8位!")
}else{
console.log("密码校验通过!")
}
//拼接字符串======================================
var s1 = "悟空"
var s2 = "八戒"
//var res = s1 + s2
var res = s1.concat(s2)
console.log("res = ",res)
//查找字符串======================================
var s= "三藏,悟空,八戒,悟净"
var pos = s.indexOf("悟空") //从左往右找
console.log("pos = ",pos)
console.log("三藏的位置",s.indexOf("三藏"))
console.log("悟空的位置",s.indexOf("悟空"))
//查找字符串,从右往左找=========
//有些时候,必须得用从右往左找
//如:要获取文件后缀,复联.mp4
//从左往右找 文件后缀,会有问题: 复联.3.高清.中文字幕.mp4(类似这种,文件名中有多个点..就会找不到)
var filename = "复联.3.高清.中文字幕.mp4"
var suffixPos = filename.lastIndexOf(".") //从右往左找
console.log(filename,"的后缀的位置是:",suffixPos)
//trim()==========把字符串左侧,右侧空格去掉
var s2 = "李雷"
console.log("s2.trim()结果:",s2.trim())
console.log("abcDEF转成大写:","abcDEF".toLocaleUpperCase())
console.log("abcDEF转成小写:","abcDEF".toLocaleLowerCase())
字符串提取:
var s = "李雷,韩梅梅,lucy"
//var res = s.slice(3,5) // 开始位置包含,结束位置不包含
//console.log("res = ",res)
//var res2 = s.slice(3) // 从索引是3的位置开始截取,一直截取到结尾
//console.log("res2 = ",res2)
//var res3 = s.slice(-4)
//console.log("res3 = ",res3)
========================================
//var filename = "复联.3.高清.中文字幕.mp4"
//var pos = filename.lastIndexOf(".")
//var suffix = filename.slice(pos)
//console.log(filename,"后缀是",suffix)
var res = s.substring(3,5) // 开始位置包含,结束位置不包含
console.log("res = ",res)
var res2 = s.substring(3) // 从索引是3的位置开始截取,一直截取到结尾
console.log("res2 = ",res2)
var res3 = s.substring(-4)
console.log("res3 = ",res3)
//========================================
var filename = "复联.3.高清.中文字幕.mp4"
var pos = filename.lastIndexOf(".")
var suffix = filename.substring(pos)
console.log(filename,"后缀是",suffix)
数组array:
一个人最多拿10瓶啤酒,那么如何拿20瓶啤酒?
一个班级的学生有30人,如何用变量表示这30人的数学成绩?用30个变量吗?
应该使用数组,数组的作用相当于上面的啤酒箱,可以装入30人的数学成绩。
数组就是:集合,存储数据,按一定的 顺序排列
//var nameArray = []
//var nameArray = ["三藏","悟空","八戒","悟净"]
//var nameArray = new Array()
var nameArray = new Array("三藏","悟空","八戒","悟净")
console.log("nameArray:",nameArray)
console.log("nameArray 的类型:", typeof nameArray)
console.log("nameArray 的长度(元素的数量):", nameArray.length)
//访问数组中的元素,通过索引访问
//数组名【索引】
console.log(nameArray[0])
console.log(nameArray[1])
//修改数组中的元素
//数组名【索引】 = 值
nameArray[0] = "唐僧"
console.log(nameArray[0])
//数组的遍历,打印数组中的每一个元素
//通过for、while循环语句进行遍历
//i的最大值是 数组长度-1
for(var i = 0;i < nameArray.length;i++){
console.log(nameArray[i])
}
待续。。。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)