zoukankan      html  css  js  c++  java
  • 函数的调用和引用

    前言:大家好~我是阿飞。在我们搞清函数调用和引用之前,让我们先认识下函数的基本结构吧。

    函数的结构

    function demo (a,b){
    		console.log(a+b);
    		return 88;
    	} 
    	demo("o","k");
    	demo;
    
    function 函数名("o","k"){
    		函数体
    		return 返回值
    	}
    	函数调用(实参1,实参2);
    	函数引用;
    

    从上我们可以看出函数的调用就是demo(),函数的引用为demo

    demo()  函数调用  (并不需要加分号,加分号是为了语法完整。实际运用时大多需要加分号)
    demo	函数引用
    注意此时的分号意思是,结束一条语句。函数调用和引用本质上并不需要;分号。很多初学者都会误以为加了分号才是函数调用。
    

    总结:函数调用和引用的区别

    • 函数调用加括号,函数引用不加括号。

    • 函数调用就是立刻执行函数。引用就是不执行。

        function demo1 (a,b){
        	console.log(a+b);
        	return 88;
        } 
        demo1("o","k");  //后台打印ok
        
        function demo2 (a,b){
        	console.log(a+b);
        	return 88;
        } 
        demo2;			//后台没有任何显示
      

    tip:由此可见想要执行函数里的内容的话必须加括号,就是使用函数调用


    使用console.log打印函数调用和引用的区别

    	打印函数调用
    	function demo1 (a,b){
    		console.log(a+b);
    		return 88;
    	} 
    	console.log(demo1("o","k")); 
    	//后台打印  
    	//第一行	ok
    	//第二行	88
    	
    	
    	打印函数引用
    	function demo2 (a,b){
    		console.log(a+b);
    		return 88;
    	} 
    	console.log(demo2); 
    	//后台打印结果
    	function demo2(a,b){
    		console.log(a+b);
    		return 88;
    	}
    

    使用console.log打印函数调用和单独使用函数调用的区别

    	打印函数调用
    	function demo1 (){
    		console.log("ok");
    		return 88;
    	} 
    	console.log(demo1()); 
    	//后台打印  
    	//第一行	ok
    	//第二行	88
    
    	
    
    	函数调用
    	function demo1 (){
    		console.log("ok");
    		return 88;
    	} 
    	demo1();
    	//后台打印  
    	//第一行	ok
    

    tips:由此可见如果想要显示return返回值内容的话 需要console.log,单纯调用无法显示返回值。


    	打印函数调用
    	function demo1 (){
    		console.log("ok");
    		return;
    	} 
    	console.log(demo1()); 
    	//后台打印  
    	//第一行	ok
    	//第二行 undefined
    
    	
    
    	打印函数调用
    	function demo2 (){
    		console.log("ok");
    	} 
    	console.log(demo2()); 
    	//后台打印  
    	//第一行	ok
    	//第二行 undefined
    

    tips:由此可见return不写 或者return后面不写值的话 默认返回undefined未定义


    此外函数调用和引用还可以有各种用法

    例1:
    	function demo (){
    		console.log("ok");
    	} 
    	var practice = demo();
    		//后台打印
    		//第一行	ok
    	
    	console.log(practice);
    		//后台打印
    		//第一行	ok
    		//第二行	undefined
    
    	console.log(practice());
    		//报错
    
    
    例2:
    	function demo (){
    		console.log("ok");
    	} 
    	var practice = demo;
    	practice();
    		//后台打印
    		//第一行	ok
    	console.log(practice());
    		//后台打印
    		//第一行	ok
    		//第二行	undefined
    

    只有函数才可以使用()括号调用,如果单独一个变量加()括号会直接报错

    	var demo = 100; 
    	
    	demo();
    	//因为没有函数 所以会报错
    

    tips:通常函数调用写在函数体下方(后面),但是也可以写在上方(前面)

    //函数调用正常位置写法
    	function demo (){
    		console.log("ok");
    	} 
    	demo();
    
    
    //函数调用提前
    	demo();
    	function demo (){
    		console.log("ok");
    	} 
    

    tips:函数调用提前有一个条件就是,必须写上函数名!没有函数名会报错。

    好了,相信大家对函数调用和引用有了基本的了解了吧。

    提问:阿飞~我表示还是没有看懂你写的什么鬼。。。。

    回答:亲~如果看不懂没关系,我的建议是:可以再找找其他教程。看下视频教程再结合下文字教程。这样自学的效率事半功倍。文字教程+视频教程才是王道哦!

  • 相关阅读:
    互联网流媒体直播点播平台报ioutil.WriteFile错误导致文件只读如何处理?
    互联网直播点播平台go语言搭建重定向和反向代理的区别及使用
    互联网视频直播点播平台EasyDSS如何集成流媒体平台调取登录及上传接口?
    互联网直播点播平台如何联合RTMP推流摄像头构建智慧消防方案?
    RTMP推流网关如何实现摄像头微信幼儿园直播?
    国标GB28181流媒体服务器gorm框架内表明重复添加前缀排查
    国标GB28181流媒体平台EasyGBS新版界面视频流更新时间显示错误问题解决
    视频流媒体播放器EasyPlayer-RTSP-Android 如何随意切换播放视频流?
    国标GB28181流媒体服务器分辨率会导致视频无法播放吗?
    国标GB28181流媒体平台集成后播放多个视频部分视频无法播放问题
  • 原文地址:https://www.cnblogs.com/anduyinglufei/p/7441961.html
Copyright © 2011-2022 走看看