自调用函数的初步理解(一)

  1. 自调用函数的初步理解步骤:
//函数的自调用,自调用函数,页面加载后,这个自调用函数就执行完了,声明的时候直接调用了,不能再调用了 ,分号一定要加上
//	分步骤理解: 
1) 函数的普通调用方式:
	function f1(){
		console.log("函数");
	}; 
	f1(); //函数调用
	
2)	延伸——可以换种写法:
	(function f1(){
		 console.log("自调用函数222sss2");
	})();
	
3)  延伸——再精简一下,可以去掉方法名:
	(function(){
		 console.log("自调用函数222sss2");
	})();
	
4)	延伸——方法有实参和形参,都可以传参数:
	(function(形参){
      console.log("自调用函数");
       var num=10; // num 是局部变量 
     })(实参);
     
//举例,window是顶级对象,加上之后,局部对象变成了全局对象,外部调用的时候,window 可以省略掉
	(function(win){
       console.log("自调用函数222sss2");
       var num=10;
       win.number=10;
   })(window); 
   // console.log(num); //此种情况不能访问报错,num是局部变量
   console.log(number); // 输出10
   console.log(window.number); // 输出10
5)  延伸——window是顶级对象,直接在函数使用,不加参数也是可以的;
  (function(){
       console.log("自调用函数222sss2");
       var num=10;
       window.number=10;
   })(); 
   // console.log(num); //此种情况不能访问报错,num是局部变量
   console.log(number);   
  1. 举例使用:
 //自调用函数 加构造函数写一个创建随机数的例子 
  <script>
   //自调用函数 加构造函数写一个创建随机数的例子 
         (function(win){ 
           //产生随机数的 构造函数
          function Random(min,max){
              this.min = min;
              this.max=max;
          }; 
          //通过原型添加方法
          Random.prototype.getRandom=function(min,max){
              return Math.floor(Math.random()*(this.max-this.min)+this.min);
          };
          //把Random 对象暴露给顶级对象 window,这样外部就可以使用 Random 这个对象;
          win.Random = Random;  

       })(window);   

       var random = new Random(0,10); //产生0-10的随机数,包含0,不包含10

       console.log(random.getRandom());
  </script>

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我选择键盘作为设备控制器,以下是使用Linux下的C代码控制键盘的示例: ```c #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <unistd.h> #include <linux/input.h> int main() { int fd; struct input_event ie; // 打开键盘设备文件 fd = open("/dev/input/event0", O_RDONLY); if (fd == -1) { perror("open"); exit(EXIT_FAILURE); } while (1) { // 读取键盘事件 if (read(fd, &ie, sizeof(struct input_event)) == -1) { perror("read"); exit(EXIT_FAILURE); } // 判断事件类型 if (ie.type == EV_KEY && ie.value == 1) { // 输出按下的键码 printf("key code: %d\n", ie.code); } } // 关闭键盘设备文件 close(fd); return 0; } ``` 上述代码使用了Linux下的输入子系统,通过读取键盘设备文件(如`/dev/input/event0`)来获取键盘事件。在读取事件后,判断事件类型,如果是按键按下事件则输出按下的键码。 调试过程中,我们可以使用`strace`命令来跟踪程序执行的系统调用,以便了解程序与系统的交互过程。以下是使用`strace`命令运行上述程序的截图: ![strace-screenshot](https://i.imgur.com/8vXh0pw.png) 从截图中可以看到,程序通过`open`系统调用打开了键盘设备文件`/dev/input/event0`,并通过`read`系统调用循环读取键盘事件。在按下键盘时,程序输出了对应的键码。最后通过`close`系统调用关闭了键盘设备文件。 通过上述代码和调试过程,我们可以对键盘设备控制器有一个初步的了解,了解其在Linux下的实现方式,并实现一个简单的键盘事件监听程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值