函数
特点:封装代码,重用性强
一、全局函数
全局对象是预定义的对象,作为 JavaScript 的全局函数和全局属性的占位符,通过使用全局对象,可以访问所有其他所有预定义的对象、函数和属性。全局对象不是任何对象的属性,所以它没有名称。
// eval();//可以把字符串当JS来执行
// alert("1+1")
// alert(eval(`1+1`))
// isNaN();// 判断参数是否是 NaN 是则返回true 否则 false
// alert(isNaN("2")); // false 类型转换
// alert(isNaN("a2"));// true
// alert(isNaN(NaN));// 无法直接判断是否是NaN类型
// Number.isNaN(NaN);//true
// alert(isFinite());// 类型转换 判断参数值是否是一个有限数值
// alert(Number.isFinite()) 不进行类型转换
二、自定义函数
声明函数
function 函数名(形参1,形参2,....){
函数体;
return 返回值;
}调用函数
function bye(){ alert("自定义函数"); } bye() // 函数无法自动执行 // 调用函数 函数名()
函数名(实参1,实参2,.....)
三、作用域 变量起作用的范围
全局作业域 局部作用域 块作用域
全局变量 (再函数外声明的变量) 在函数内外都可被访问
局部变量 (在函数内声明的变量) 只能在函数内访问
// var a = 10; // function bye(){ // var a = 2 // alert(a + "内部") // } // bye() // alert(a + "外部")
四、匿名函数
function(形参1,形参2,....){
函数体
}
调用匿名函数
var 变量名=function(形参1,形参2,....){
函数体
}
变量名()
包装成表达式 IIFE 立即执行函数表达式
(匿名函数)();
五、函数传参
有参函数:function 函数名(形参1,形参2....){
函数体
}
function bye(x,y,z){ console.log(arguments)//参数的具体信息 console.log(arguments.length)//实参的个数 alert(x,z,y) }
六、返回值
function bye(){ return; //返回值 写在后面的不运行 }