分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

第24天:js-函数变量声明提升

发布时间:2023-09-06 01:09责任编辑:郭大石关键词:js

一、函数声明
1、自定义函数
function fun1(){
alert("我是自定义函数");
}
fun2();//函数不调用,自己不执行
2、直接量声明
var fun2=function(){
alert("直接量声明");
}
fun2();
3、利用Function关键字声明
var fun3=new Function("var a=10;b=20;alert(a+b)");
fun3();

二、变量声明提升
如果在一个函数体内部声明了一个变量,不管这个变量函数外部有没有,先执行函数内部的变量,会将变量声明提升到函数开始部分,但是不会赋值。
在函数体内部声明变量,会把该声明提升到函数体的最顶端。但是只提升变量声明,不赋值。
var num=10;
fun1();
function fun1(){
???console.log(num);
???var num=20;//变量提升
???????????}//undefined
相当于
var num=10;
fun1();
function fun1(){
var num;
console.log(num);
num=20;
}

三、函数传参

函数实参个数要与形参个数相同,arguments.length可以获取函数实参的个数

 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 ????<meta charset="UTF-8"> 5 ????<title>Title</title> 6 ????<script> 7 ????????/*变量提升*/ 8 ????????/*window.onload=function(){ 9 ????????????var num=10;10 ????????????fun1();11 ????????????function fun1(){12 ????????????????console.log(num);13 ????????????????var num=20;//变量提升14 ????????????}15 ????????}//结果:undefined*/16 17 ????????/*var a=18;18 ????????f1();19 ????????function f1(){20 ????????????var b=9;21 ????????????console.log(a);22 ????????????console.log(b);23 ????????????var a=‘123‘;24 ????????}//undefined,925 ????????*/26 ????????/*函数传参*/27 ????????/*function f1(a,b){28 ????????????console.log(a+b);29 ????????}30 ????????f1(1,2);//331 ????????f1(5);//NaN*/32 33 ????????/*检测函数参数个数匹配*/34 ????????function fn(a,b){35  ???????????console.log(fn.length);//获取函数形参的个数36  ???????????console.log(arguments.length);//得到的是实参的个数37 ????????????if(fn.length==arguments.length){38 ????????????????console.log(a+b);39 ????????????}else{40 ????????????????console.log("对不起,您的参数不匹配,正确的参数个数为:"+fn.length);41 ????????????}42 ????????}43 ????????fn(5,3);//2,2,844 ????????fn(2,3,4)//2,3,"对不起..."45 46 47 ????</script>48 </head>49 <body>50 51 </body>52 </html>

第24天:js-函数变量声明提升

原文地址:http://www.cnblogs.com/le220/p/7487627.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved