(基础篇)PHP与JavaScript交互
一、了解javascript
Javascript是脚本编程语言,支持WEB应用程序的客户端和服务器端构件的开发,在WEB系统中得到了非常广泛的应用。
1、 什么是javascript
Javascript是由netscape communication corporation (网景公司)开发的,是一种基本对象和事件驱动并具有安全性能的解释型脚本语言。
它不但可用于编写客户端脚本程序,由WEB浏览器解释执行;而且还可以编写在服务器端执行的脚本程序,在服务器端处理用户提交的信息并动态地向浏览器返回处理结果。
2、 Javascript的功能
Javascript是比较流行的一种制作网页特效的脚本语言,它由客户端浏览器解释执行,可以应用在PHP、ASP、JSP和ASP.NET网站中。同时目前比较热门的ajax就是以javascript为基础,
由此可见,熟练掌握并应用javascript对于网站开发人员非常重要。
主要应用于以下几个方面:
(1)、在 ,便于网站与用户间的沟通,及时响应用户的操作,对提交的表单做即时检查,如验证表单元素是否为空,验证表单元素是否是数值型、检测表单元素是否输入错误等。
(2)、应用js脚本制作网站特效,如动态的菜单、浮动的广告等,为页面增添绚丽的动态效果,使用网页内容更加丰富、活泼。
(3)、应用JS脚本,建立复杂的网页内容,如打开新窗口载入网页。
(4)、应用JS脚本,可以对用户的不同事件产生不同的响应。
(5)、应用JS脚本,制作各种各样的图片、文字、鼠标、动画和页面的效果。
(6)、应用JS脚本,制作一些小游戏。
二、Javascript语言基础
JS脚本语言与其他语言一样,有其自身的基本数据类型、表达式和运算符以及程序的基本框架结构。
1、JS的数据类型
主要有6种数据类型:
字符串型:使用单引号或双引号括起来的一个或多个字符。 如”php”等。
数值型:包括整数或浮点数(包含小数点的数或科学记数法的数) 如-128、12.9、6.98e6等
布尔型:布尔型常量只有两种状态,即true或false 如event.return value=false
对象型:用于指定JS程序中用到的对象。 如网页表单元素
NULL值:可以通过给一个变量赋null值来清除变量的内容。 如a=null
Undefined:表示该变量尚未被赋值。 如var a
1、JS的变量
变量是指程序中一个已经命名的存储单元,它的主要作用就是为数据操作提供存放信息的容器。在使用变量前,必须明确变量的命名规则、变量的声明方法及变量的作用域。
(1)、变量的命名规则
必须以字母或下划线开头,中间可以是数字、字母或下划线。
变量名不能包含空格或加号、减号等符号。
JS的变量名是严格区分大小写的。
不能使用JS中的关键字。JS的关键字如下表:Abstract,continue,finally,instanceof,private,this,boolean,default,float,int,public,throw,break,do,for,interface,
return,typeof,byte,double,function,long,short,true,case,else,goto,native,static,var,catch,extends,implements,new,super,void,char,false,import,null,
switch,while,class,final,in,package,synchronized,with
注意:虽然JS的变量可以任意命名,但为了在编程时使用代码更加规范,最好使用便于记忆、且有意义的变量名称,以增加程序的可读性。
(2)、变量的声明与赋值
在JS中,一般使用变量前需要先声明变量,但有时变量可以不必先声明,在使用时根据变量的实际作用来确定其所属的数据类型。所有的JS变量都由关键字var声明。
语法如下:
Varexample;
在声明变量的同时也可以对变量进行赋值:
Varexample=100;
建议读者在使用变量前就对其声明,因为声明变量最大好处就是能及时发现代码中的错误。由于JS是采用动态编译的,
而动态编译是不易于发现代码中的错误的,特别是变量命 名方面的错误。
声明变量时所遵循的规则如下:
可以使用一个关键字var同时声明多个变量,例如:
Var I,j;
可以在声明变量的同时对其进行赋值,即为初始化:例如:
Var i=1;j=100;
如果只是声明了变量,并未对其赋值,则其值默认为undefined.
在JS中,可以使用分号代表一个语句的结束,如果每个语句都在不同的行中,那么分号可以省略,如果多个语句在同一行中,
那么分号就不能省略。建议大家,不省略分号,以养成良好的编程习惯。
例:
Var i=100;
Var str=”有一条路,走过总会想起。”;
Var content=true;
在程序开发过程中,可以使用var语句多次声明同一个变量,如果重复声明的变量已经有一个初始值,那么此时的声明变就相当于对变量重新赋值。
2、JS的注释
在JS中,采用的注释方法有2种:
(1)、单行注释
单行注释使用 // 进行标识。// 符号后面的文字都不能被程序解释执行。
(2)、多行注释
多行注释使用“/* */”进行标识。“/* …… */”符号中间的文字不被程序解释执行。
多行注释中可以嵌套单行注释,但不能嵌套多行注释。因为第一个 /* 会与其后面第一个 */ 相匹配,从而使后面的注释不起作用,甚至引起程序出错。
另外,JS还能识别HTML注释的开始部分 <!-- JS会将其看作为单行注释结束,如使用 // 一样。但JS不能识别HTML注释的结束部分 -->.
这种现象存在的主要原因是:在JS中,如果第一行以 <!-- 开始,最后一行以 --> 结束,那么其间的程序就包含在一个完整的HTML注释中,
会被不支持JS的浏览器忽略掉,不能被显示。如果第一行以 <!-- 开始, 最后一行以 //-->结束,JS会将两行都忽略掉,而不会忽略这两行之间的部分。用这种方式可以针对那些无法理解JS的浏览器而隐藏代码,而对那些可以理解JS的浏览器则不必隐藏。
三、自定义函数
自定义函数就是由用户自己命名并且书写的能实现特定功能的程序单元。用户使用的自定义函数必须事先声明,不能直接使用没有声明过的自定义函数.
JS用function来定义函数,语法如下:
Function 函数名(参数){
Return var;
}
自定义函数的调用方法是:
函数名();
其中的括号一定不能省略。
例:
<scriptlanguage="javascript">
function chengji(a,b){
return a*b;
}
document.write("输出的结果是:"+chengji(15,3));
</script>
执行后的结果是:
输出的结果是:45
在同一个页面不能定义名称相同的函数,另外,当用户自定义函数后,需要对该函数进行引用,否则自定义函数将失去意义。
四、Javascript流程控制语句
所谓流程控制语句就是对语句中不同条件的值进行判断,从而根据不同的条件执行不同的语句。在JS中,流程控制语句可以分为条件语句、循环语句和跳转语句。
1、 条件语句
在条件控制语句中主要包括两种:一种是IF条件语句,另一种是Switch多分支语句。
2、 循环语句
3、 跳转语句
五、Javascript事件
JS是基于对象的语言。它的一个最基本的特证就是采用事件驱动。事件是某此动作发生时产生的信号,这些事件随时都可能发生。引起事件发生的动作称之为触发事件。
鼠标键盘事件
Onclick 鼠标单击时触发此事件
Ondblclick 鼠标双击时触发此事件
Onmousedown 按下鼠标时触发此事件
Onmouseup 鼠标按下后松开鼠标时触发此事件
Onumoseover 鼠标移动到某对象范围上方时触发
Onumosemove 鼠标移动时触发此事件
Onmoseout 鼠标离开某个对象范围时触发此事件
Onkeypress 当键盘上的某个按键被按下并且释放时触发
Onkeydown 当键盘上的某个按键被按下时触发此事件
Onkeyup 当键盘上的某个按键被按下后松开时触发
页面相关事件
onabort 图片在下载时被用户中断时触发此事件
Onload 页面内容完成时触发此事件(页面加载事件)
Onresize 当浏览器的窗口大小被改变时触发此事件
Onumload 当前页面将被改变时触发此事件
表单相关事件
onblur 当前元素失去焦点时触发此事件
Onchange 当前元素失去焦点且无素的内容发生改变时
Onfocus 当前元素获得焦点时触发此事件
Onreset 当表单中reset的属性被激活时触发些事件
Onsubmit 一个表单被递交时触发此事件
滚动字幕事件
onbounce 在marquee内的内容移动到marquee显示范围之外时触发此事件
Onfinish 当marquee元素完成需要显示的内容后触发
Onstart 当marquee元素开始显示内容时触发此事件
在PHP中应用js脚本中的事件调用自定义函数是程序开发过程中经常使用的方法。
(基础篇)PHP与JavaScript交互的更多相关文章
- 基础篇:1.JavaScript运行在html中,引用有几种方式?—— 6.js中常用的输出方式?
		书接上文,上文提到若干条JavaScript的基础性知识,大部分都是一些概念性的东西,本着认真严谨的态度,我们要认真对待,有些条目的问题是某个知识点的周边延伸,为节约篇幅,就一起整理了,如有描述不对的 ... 
- Hybrid APP基础篇(三)->Hybrid APP之Native和H5页面交互原理
		本文已经不维护,新地址: http://www.cnblogs.com/dailc/p/8097598.html 说明 Hybrid模式原生和H5交互原理 目录 前言 参考来源 前置技术要求 楔子 A ... 
- rcGIS API for JavaScript之基础篇(一)
		ArcGIS API for JavaScript之基础篇(一)上一篇文章介绍了ArcGIS 10.4的安装指南也包含了所需要资源,需要的同学可以去公众号中查找.最近几天学习了2D地图.3D地图以及图 ... 
- 一步步学习javascript基础篇(0):开篇索引
		索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ... 
- [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析
		[WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285 ... 
- 一步步学习javascript基础篇(3):Object、Function等引用类型
		我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ... 
- Javascript面向对象编程一:基础篇
		该随笔分为以下四部分: Javascript面向对象编程一:基础篇 Javascript面向对象编程二:封装 Javascript面向对象编程三:继承 Javascript面向对象编程四:控件 先弄个 ... 
- JavaScript笔记基础篇(二)
		基础篇主要是总结一些工作中遇到的技术问题是如何解决的,应为本人属于刚入行阶段技术并非大神如果笔记中有哪些错误,或者自己的一些想法希望大家多多交流互相学习. 1.ToFixed()函数 今天在做Birt ... 
- Python学习笔记——基础篇【第一周】——变量与赋值、用户交互、条件判断、循环控制、数据类型、文本操作
		目录 Python第一周笔记 1.学习Python目的 2.Python简史介绍 3.Python3特性 4.Hello World程序 5.变量与赋值 6.用户交互 7.条件判断与缩进 8.循环控制 ... 
- 前端开发工程师 - 02.JavaScript程序设计 - 第1章.基础篇
		第1章--基础篇 JS介绍 html 网页的内容:css 网页的样式:javascript 网页的行为 i.e. hello world <!DOCTYPE html> <html& ... 
随机推荐
- 第一个简单的DEMO
			一个联系人管理的DEMO,支持CURD 运行效果图: Controller的设计: 总结: Web API的Controller都继承自ApiController. Web API的Action的命名 ... 
- [示例]NSDictionary编程题-字典的排序应用(iOS4班)
			代码: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepo ... 
- [转] jQuery源码分析-如何做jQuery源码分析
			jQuery源码分析系列(持续更新) jQuery的源码有些晦涩难懂,本文分享一些我看源码的方法,每一个模块我基本按照这样的顺序去学习. 当我读到难度的书或者源码时,会和<如何阅读一本书> ... 
- FOJ 2105 Digits Count
			题意:对一串数字进行抑或某数,和某数,或某数,统计某区间和的操作. 思路:因为化成二进制就4位可以建4颗线段树,每颗代表一位二进制. and 如果该为是1 直接无视,是0则成段赋值为0: or 如 ... 
- centos下cmake安装
			步骤一.安装gcc等必备程序包(已安装则略过此步,用gcc -v检测) yum install -y gcc gcc-c++ make automake 步骤二.安装wget (已安装则略过此步) y ... 
- zoj2132-The Most Frequent Number
			http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2132 The Most Frequent Number Time Limi ... 
- IT公司100题-15-求二元查找树的镜像
			问题描述: 输入一颗二元查找树,将该树转换为它的镜像树,即对每一个节点,互换左右子树. 例如输入: 6/ \4 12/ \ / \2 5 8 16 输出: 6/ ... 
- FB分别编译各个项目
			FB里面有个 ActionScript模块 功能, 可以将 不同模块分别编译成一个个swf,这样会将各个独立的模块从主swf中分离出来.如果玩家没使用过这个模块,就不会加到内存中去,这样可以减少不必要 ... 
- 框架之 spring
			spring有两大特性,其一为ioc,其二为aop 1.ioc的理解 ioc为依赖注入,他的好处就是把创建对象的权利交给spring去管理,这样的好处是 将应用程序中的对象解耦,传统的方式程序中的对象 ... 
- iOS 使用两个tableview的瀑布流
			代码 悦德财富:https://www.yuedecaifu.com 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 
