函数就是一个方法或者一个功能体,函数就是把实现某个功能的代码封装。提高了代码的使用率,减少页面中的冗杂代码,实现高内聚低耦合的要求。
function[函数名](形参变量1,...){
//函数体:基于JS需要实现的功能
return[处理后的结果];
}
fun()//a 存在变量提升
function fun(){
console.log('a')
}
练习1:为什么在控制台输入console.log(1)除了输出1之外还会输出undefined?
因为console.log本身就是一个函数,console.log(1)代表执行时传入的实参为1,函数的功能是将结果在控制台输出,输出undefined是因为没有return语句
练习2:return语句的使用
function sum(a,b){
if (a==undefined||b==undefined) {
return;//函数体中遇到return后面的代码不再执行
}
console.log(a+b)
}
sum(1,2)
console.log(fun)//undefined 存在变量提升
fun()//没有函数提升。attt.html:17 Uncaught ReferenceError: Cannot access 'fun' before initialization
var fun=function fun(){
console.log('a')
}
new Function(arg1,arg2,arg3..,body);
var fun=new Function('a','b','console.log(a+b)')
fun(1,2)
(function(){
var a=1
function test(){
console.log(++a)
}
window.fun=function(){//向外暴露一个函数
return {
test:test//返回一个对象,将自调用函数中的局部变量提升为全局变量
}
}
})()
fun().test()//2 fun是全局中的一个函数,返回值是一个对象,对象中有test方法
原文:https://www.cnblogs.com/qqinhappyhappy/p/11924759.html