名字开头用动词 第二个词首字母大写(驼峰写法)doSomething
js中只有函数作用域 没有块作用域 es6有 使用es6
函数声明
function sayHello(){
console.log(hellow
)
}
get(1,2) => 1 + 2 es6
函数表达式 声明要放到调用前面
const sayhellow = function(){
console.log(hellow
)
}
函数参数 在函数内部 你可以使用arguments对象获取到该函数的所有传入参数[我写的实参] 类数组对象
function sayHello(name, age, sex){
console.log(hello${name}${age}${sex}
)
console.log(arguments[0]) 相当于获得了name
}
sayHello("ruoyu",2,'boy')
函数if模拟重载 js函数没有重载 同样的函数 第二个覆盖第一个 模拟重载用if
function congzai(name,age,sex){
if(name){
console.log(name)
}
if(age){
console.log(age)
}
if(sex){
console.log(sex)
}
}
chongzai('ruoyu',26)
chongzai('ruoyu',26,'jirengu')
函数返回值 不写return 默认会return undefined返回值 遇到return 会退出函数体
function sum(a,b){
a++
b++
return a+b
}
const result = sum(2,3)
console.log(result)
函数递归 1、自己调用自己 2、设定终止条件 算法简单 但是效率低
function sum(n){
if(n === 1){
return 1
}
return n + sum(n-1)
}
sum(10)求一个10的阶层
立即执行函数表达式 或者不是括号 前面是!+ - ~... 作用是隔离作用域
!function(){
var a = 1
}()
es6
{
var a = 1
}
函数引用类型获得一个新对象
function squireArr2(arr){
var newArr = []
for(var i = 0; i< arr.length; i++){
newArr[i] = arr[i] * arr[i]
}
return newArr
}
var arr = [2,1,3,6]
suqireArr(arr)
console.log(arr)//[4,1,9,36]
网友评论