目录
四、预定义函数是指不属于任何对象,他们的使用也不需要通过任何对象来应用。全局的函数
一、函数特点:
封装代码,代码的重用性强!
二、函数分为两种:
1.自定义函数
定义函数:
function 函数名() {
函数体;
}
函数调用:
函数名();
2.系统函数(内置函数)
三、系统函数里还包括预定义函数。
四、预定义函数是指不属于任何对象,他们的使用也不需要通过任何对象来应用。全局的函数
五、eval();
可以把字符串当作js脚本来执行
// 'alert("hello")'; // alert("1+1");//"1+1" // alert(eval("1+1"));//2 //"document.write(123)"; eval("document.write(123)");//123
六、isNaN()
判断参数是否是NaN,若是NaN返回true,否则返回false
isNaN() 会进行类型转换 再判断是否是NaN类型
Number.isNaN() 不进行类型转换 直接判断是否是NaN类型
alert(isNaN("12"));//false
console.log(isNaN(12));//false
console.log(isNaN("12"));//false 类型转换
console.log(isNaN("12a"));//true 类型转换-->转数字 转失败NaN
console.log(isNaN(NaN));//true
//无法直接判断是否是NaN类型
console.log(Number.isNaN(123));//false
console.log(Number.isNaN("123"));//false
console.log(Number.isNaN("abc"));//false
console.log(Number.isNaN(NaN));//true
七、isFinite()
判断参数是否是一个有限数值 如果是有限数字返回true,否则返回false
console.log(isFinite(123));//true console.log(isFinite("123"));//true 类型转换 console.log(isFinite("123a"));//NaN false 类型转换 console.log(isFinite(2 / 0));//Infinity false 类型转换 console.log(Number.isFinite(12));//true console.log(Number.isFinite("12"));//false 不进行类型转换
用来确定参数是否是一个有限数值.也就是说,如果该参数为非数字NaN,正无穷数,或负无穷数,则返回false,否则返回true;如果是字符串类型的数字,将会自动关转化为数字型.
八、 escape函数/unescape()
将字符串进行编码和解码,这样就可以在所有的计算机上读取该字符串。
九、定义函数
function 函数名(){
函数体;}
function 定义函数关键字,
“函数名” 是你给函数取的名字,
“函数体” 是为完成特定功能的代码。
函数名 必须是唯一的
function say_hello() { alert("hello world~~"); } //函数无法自动执行 //调用函数 say_hello(); 定义函数 function 函数名(){ 函数体; } 调用函数 函数名(); function say_hello() { alert("hello world~~"); } <button οnclick="say_hello()">按钮</button> //写在body内
十、作用域
全局变量 (在函数外声明的变量) 在函数内与函数外均可被访问
局部变量 (在函数内声明的变量) 只能在函数内部访问
一个变量不声明 直接使用 默认为全局变量
十一、匿名函数
就是没有函数名的函数。
这里创建了一个匿名函数(在第一个括号内),第二个括号用于调用该匿名函数,并传入参数。
var box = function (){
alert("你好匿名函数");
}
//包裹自我执行的函数
( function (){
alert("你好匿名函数");
})();
( function (){
alert("你好匿名函数");
}());
十二、函数传参
function 函数名(参数1,参数2) {
语句;//函数主体return 返回值;
}
//有参函数:
function 函数名(形参1,形参2,...){
函数体;
}
//调用函数:
函数名(实参1,实参2,...);
//封装一个函数,实现比较两个数大小。输出较大的值
function maxNum(num1,num2){ var num1 = +prompt("请输入第一个数值"); var num2 = +prompt("请输入第二个数值"); if(num1 > num2){ console.log("输出"+num1); }else if(num1 < num2){ console.log("输出"+num2); }else{ console.log("两数相等"); } } maxNum();
十三、函数返回值
return后的值将会会作为函数的执行结果返回,
可以定义一个变量,来接收该结果在函数中return后的语句都不会执行
如果return语句后不跟任何值就相当于返回一个undefined,
如果函数中不写return,则也会返回undefined
function myFun(){
//alert("hello");
//return 12;
return "hello";
}
var m = myFun();
console.log(m);
document.write(m);