函数调用

JavaScript

♀尐吖头ヾ 提交于 2020-03-02 16:20:30
一、JavaScript基础 JavaScript 书写 用法 行内式的js直接写道元素的内部 1 <inout typer="button" value="唐伯虎" onclick="alert('秋香')"> 内嵌式的js 1 <script> 2 alert("你好"); 3 </script> 外部的js 1 <script src="my.js"></script> JavaScript输入和输出语句 alert(msg):浏览器弹出警示框 console.log(msg):浏览器控制台打印输出信息 prompt(info):浏览器弹出输入框,用户可以输入 变量 1、声明变量 //声明了一个age的变量 var age; //赋值 把值存入这个变量中 age = 20; //输出结果 console.log(age); //声明并赋值,我们称为变量的初始化 var age = 20; //生命变量同时赋值为20 //声明多个变量 var age = 18, gz = 10000; 2、命名规范 3、数据类型 //js的变量数据类型是只有程序运行过程中,根据等号右边的值来确定的 var length = 7; // 数字 var lastName = "Gates"; // 字符串 var cars = ["Porsche", "Volvo", "BMW"]; // 数组

DWR组件——基于远程过程调用实现Ajax

醉酒当歌 提交于 2020-03-02 14:36:19
转载请注明原文地址: http://www.cnblogs.com/ygj0930/p/6686115.html 一:DWR的用途 DWR(Direct Web Remoting)是一个Web远程调用框架,会根据java类动态生成javascript代码。 二:DWR实现Ajax的原理 DWR是基于远程过程调用的组件,可以在浏览器端远程调用服务端的业务函数,并获取返回结果。而我们知道,浏览器端是不能直接运行Java代码的,但是可以运行JavaScript代码。DWR的作用就是:把服务端的业务函数转化成JS函数,然后在页面导入js文件,像使用普通JS函数一样调用。而页面在触发该函数时,就向服务端发出请求,服务器根据转换映射关系调用相应业务函数,并把结果返回个页面端的JS函数调用处。这样没有引发页面跳转,所以也是Ajax。 三:DWR使用步骤 ( 1 )下载 dwr.jar (核心包)、 commons-logging-1.0.4.jar (依赖包),并放置在web项目WEB-INF/lib下面。 下载地址: http://download.csdn.net/detail/qq_28745795/9847205 ( 2 )在web.xml中配置 DWR组件, DWR相当于 是一个 servlet ; <servlet> <servlet-name>MyDWR</servlet-name

DWR组件——基于远程过程调用实现Ajax

心已入冬 提交于 2020-03-02 14:36:02
一:DWR的用途 DWR(Direct Web Remoting)是一个Web远程调用框架,会根据java类动态生成javascript代码。 二:DWR实现Ajax的原理 DWR是基于远程过程调用的组件,可以在浏览器端远程调用服务端的业务函数,并获取返回结果。而我们知道,浏览器端是不能直接运行Java代码的,但是可以运行JavaScript代码。DWR的作用就是:把服务端的业务函数转化成JS函数,然后在页面导入js文件,像使用普通JS函数一样调用。而页面在触发该函数时,就向服务端发出请求,服务器根据转换映射关系调用相应业务函数,并把结果返回个页面端的JS函数调用处。这样没有引发页面跳转,所以也是Ajax。 三:DWR使用步骤 ( 1 )下载 dwr.jar (核心包)、 commons-logging-1.0.4.jar (依赖包),并放置在web项目WEB-INF/lib下面。 下载地址: http://download.csdn.net/detail/qq_28745795/9847205 ( 2 )在web.xml中配置 DWR组件, DWR相当于 是一个 servlet ; <servlet> <servlet-name>MyDWR</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet

【BPF】学习笔记 - BCC工具[6]

时光总嘲笑我的痴心妄想 提交于 2020-03-02 11:08:40
【BPF】学习笔记 - BCC工具[6] 本学习笔记来自于阅读 Brendan Gregg 的《BPF Performance Tools》 BPF编译器集合(BCC)是一个开放源代码项目,其中包含用于构建BPF软件的编译器框架和库。 它是BPF的主要前端项目,受到BPF开发人员的支持. BCC还包含70多个现成的BPF性能分析和故障排除工具 BCC 组件 : BCC包含有关工具,手册页和示例文件的文档,以及有关使用BCC工具的指南,以及有关BCC工具开发的指南和参考指南。 它提供了用于在Python,C ++中开发BCC工具的接口; 将来可能会添加更多接口 BCC工具使用的主要语言是Python(用于用户级组件)和C(用于内核级BPF)。指南中的建议之一是 “编写工具即可解决问题,而无需更多”. 这鼓励在可能的情况下开发 单一用途 的工具,而不是多功能的工具 一、 单一目的工具 Unix的哲学是做一件事并做好, 其中一种方式是创建较小的高质量工具,可以使用管道将它们连接在一起以完成更复杂的任务,例如 grep , cut 等 考虑一下如何为跟踪open系列syscall的一项任务自定义选项和输出: $ opensnoop -h usage: opensnoop [ -h ] [ -T ] [ -U ] [ -x ] [ -p PID ] [ -t TID ] [ -u UID ]

JavaScript——数组&函数

那年仲夏 提交于 2020-03-02 10:54:44
本章的内容 本章的总体思路,围绕着数组展开。 数组Arry 一、数组是是?它有几种创建方式? 1.数组是什么? 数组是一组相关的数据集合。可以把一组相关的数据一起存放,并提供方便的访问(获取)方式。 数组是指 一组数据的集合 ,其中的每个数据被称作 元素 ,在数组中可以 存放任意类型的元素 。数组是一种将一组数据存储在单个变量名下的方式。 2.数组的创建方式 一共有两种方式。new一个,还有一种是字面量的方式。 new一个, var 数组名 = new Array() ; var arr = new Array(); // 创建一个新的空数组 字面量的方式 //1. 使用数组字面量方式创建空的数组 var 数组名 = []; //2. 使用数组字面量方式创建带初始值的数组 var 数组名 = ['大明','小陈','小张','老李']; //3.在数据中可以放任意类型 var 数组名 = [0,true,'小张',13213]; 这种字面量方式也是我们以后最多使用的方式,也是在开发中常用的 ### 二。如何访问数组中的元素? ### 1.使用索引(下标)进行访问。 需要注意的是这里的索引是从0开始的。 // 定义数组 var arrStus = [1,2,3]; // 获取数组中的第2个元素 alert(arrStus[1]); //这里获取的是值是 2 alert(arrStus

typedef 类型重命名 和 #define 宏定义(1)

大憨熊 提交于 2020-03-02 05:57:45
http://www.blogjava.net/jasmine214--love/archive/2010/11/29/339307.html 在现实生活中,信息的概念可能是长度,数量和面积等。在C语言中,信息被抽象为int、float和double等基本数据类型。 从基本数据类型名称上, 不能够看出其所代表的物理属性 ,并且int、float和double为系统关键字,不可以修改。 为了解决用户自定义数据类型名称的需求,C语言中引入类 型重定义语句typedef ,可以为数据类型定义新的类型名称,从而 丰富数据类型所包含的属性信息 。 typedef的语法描述 : typedef 类型名称 类型标识符; 例如:typedef double LENGTH; typedef unsigned int COUNT; typedef 的主要应用有如下的几种形式 : 1) 为基本数据类型定义新的类型名 。例如: typedef unsigned int COUNT; typedef double AREA; 此种应用的主要目的,首先是丰富数据类型中包含的属 性信息,其次是为了系统移植的需要,稍后详细描述。 2) 为自定义数据类型(结构体、公用体和枚举类型)定义简洁的类型名称(在c++中没有这个必要了,因为直接可以使用类型名定义变量,前面不用加struct) 。例如: struct

VC学习笔记:对话框

筅森魡賤 提交于 2020-03-02 05:48:06
VC学习笔记:对话框 SkySeraph NOV.11st 2009 HQU Email-zgzhaobo@gmail.com QQ-452728574 Latest Modified Date:Oct.31th 2010 HQU 重新翻阅整理 //说明:孙鑫视频学习笔记 SkySeraph NOV.11st 2009 HQU /*【对话框专题知识】*/ //知识点:创建对话框;显示对话框; //新建Single Document程序 void CMyBoleView::OnDialog() //对话框的响应函数 { //首先创建一个新的对话框资源,并增加一个相关的类[CTestDlg]用来操作该资源。再增加一个菜单项(view类)用来显示该对话框。【每增加一个新对话框都需增加一个相关类来做相关处理】 //▲注意:要在view类头文件里包含testdlg.h,才能在菜单项的消息响应函数使用该类。 /*■1.<<创建、显示、关闭模态对话框>>*/ CTestDlg dlg; //此处是局部变量,但不要紧,因为程序会暂时停下来等模态对话框关闭后再运行; dlg.DoModal();//创建并显示模态对话框 / *■2.<<创建、显示、销毁非模态对话框>>*/ //>>错误写法:CTestDlg dlg; //▲不能定义成局部变量。局部变量两种处理方法:[1]定义成view类的成员变量;

模式对话框与非模式对话框的区别

喜夏-厌秋 提交于 2020-03-02 05:47:44
模式对话框就是不处理它就没法处理父窗口,而非模式对话框就是不用先处理此对话框也可以处理父窗口.例子:在桌面上右击我的电脑,选择属性,弹出系统属性窗口,点击下面的技术支持,弹出技术支持信息,现在再对系统属性窗口进行操作就操作不了,这种叫做模式对话框;关闭技术支持信息,在系统属性里选择硬件,点击设备管理器,弹出设备管理器窗口,现在再对系统属性窗口进行操作仍然可以操作,这种就叫做非模式对话框。 在WIN32中,模式对话框的创建一般是使用DialogBox来进行创建的。而非模式对话框则是利用CreateWindow来创建的。在MFC或是WTL中,模式对话框一般是使用DoModal,而非模式对话框的创建则是使用Create。 一、 使用中的区别 模式对话框创建后,程序的其他窗口便不能进行操作,必须将该窗口关闭后,其他窗口才能进行操作。而非模式对话框则无需这样,它不强制要求用户立即反应,而是与其他窗口同时接受用户操作。 二、 消息响应的区别 在消息响应方面,模式对话框和非模式对话框之间又有着很大的区别。模式对话框工作的时候,它有内部的消息泵机制,控件之间的交互不用我们人为的去控制,系统会帮助我们去处理。非模式对话框则像普通窗口一样,则由WinMain中书写的消息循环驱动。但由于是对话框,它对一些消息有特殊的处理。因此,在消息循环中,需要先对对话框提供截获消息的机会。 While

函数调用时参数传递规则

耗尽温柔 提交于 2020-03-02 05:32:06
ARM函数调用时参数传递规则 之前在学习如何在C语言中嵌入汇编时有了解到C语言之前的参数调用是使用寄存器 R0传递第一个参数, R1传递到第二个.. 一直到R3传递第四个参数. 但是 实际上有时可能传递的参数非常多,超过8个,或是参数中有浮点数之类,参数也会超过4个寄存器,对于超出的部份并不使用R4,而是使用堆栈的方式. 对于ARM体系来说,不同语言撰写的函数之间相互调用(mix calls)遵循的是 ATPCS(ARM-Thumb Procedure Call Standard),ATPCS主要是定义了函数呼叫时参数的传递规则以及如何从函数返回,关于ATPCS的详细内容可以查看ADS1.2 Online Books ——Developer Guide的2.1节。这篇文档要讲的是 汇编代码中对C函数调用时如何进行参数的传递以及如何从C函数正确返回 不同于x86的参数传递规则,ATPCS建议函数的形参不超过4个,如果形参个数少于或等于4,则形参由R0,R1,R2,R3四个寄存器进行传递;若形参个数大于4,大于4的部分必须通过堆栈进行传递。 x86_64函数调用时参数传递规则 x86_64体系架构中函数调用时整数和指针参数按照从左到右的顺序依次保存在寄存器rdi,rsi,rdx,rcx,r8和r9中,浮点型参数保存在寄存器xmm0,xmm1......中

Python协程的引入与原理分析

故事扮演 提交于 2020-03-02 03:52:40
相关概念 并发: 指一个时间段内,有几个程序在同一个 cpu 上运行,但是任意时刻只有一个程序在cpu上运行。比如说在一秒内cpu切换了100个进程,就可以认为cpu的并发是100。 并行: 值任意时刻点上,有多个程序同时运行在cpu上,可以理解为多个cpu,每个cpu独立运行自己程序,互不干扰。并行数量和cpu数量是一致的。 我们平时常说的高并发而不是高并行,是因为cpu的数量是有限的,不可以增加。 形象的理解:cpu对应一个人,程序对应喝茶,人要喝茶需要四个步骤(可以对应程序需要开启四个线程):1烧水,2备茶叶,3洗茶杯,4泡茶。 并发方式:烧水的同时做好2备茶叶,3洗茶杯,等水烧好之后执行4泡茶。这样比顺序执行1234要省时间。 并行方式:叫来四个人(开启四个进程),分别执行任务1234,整个程序执行时间取决于耗时最多的步骤。 同步 ( 注意同步和异步只是针对于I/O操作来讲的 )值调用IO操作时,必须等待IO操作完成后才开始新的的调用方式。 异步  指调用IO操作时,不必等待IO操作完成就开始新的的调用方式。 阻塞 指调用 函数 的时候,当前线程被挂起。 非阻塞 指调用 函数 的时候,当前线程不会被挂起,而是立即返回。 IO多路复用   sllect, poll, epoll都是IO多路复用的机制。IO多路复用就是通过这样一种机制:一个进程可以监听多个描述符