(基础篇)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& ...
随机推荐
- 谷歌官方SwipeRefreshLayout下拉刷新的用法。
<Android SwipeRefreshLayout:谷歌官方SDK包中的下拉刷新> 下拉刷新在如今移动开发中应用如此广泛和普遍,以至于谷歌干脆在SDK中给予支持.在android-su ...
- HDU 3265 扫描线(矩形面积并变形)
Posters Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...
- SQL Server 2005 镜像构建手册
转载:http://www.cnblogs.com/killkill/archive/2008/05/23/1205792.html 一. 镜像简介 1. 简介 数据库镜像是将数据库事务处理从一个SQ ...
- sql 行专列 列转行 普通行列转换
转载:http://www.cnblogs.com/newwind521/archive/2010/11/25/1887203.html sql 行专列 列转行 普通行列转换 /* 标题:普通行列转换 ...
- Codeforces 235C
题目大意: 给定一个字符串,接下来再给n个字符串,求原字符串中含有多少个当前给定字符串的循环同构体的字符串的个数 以初始字符串构建后缀自动机,在自动机上前进的时候,比如当前需要匹配的字符串为aba,到 ...
- Android EditText email、数字验证
在做Android注册登录模块的时候,经常需要在客户端就验证用户输入的信息的正确性,如填写邮箱需要验证是否是邮箱,填写手机.年龄等信息需要验证是否是数字.先介绍一下验证邮箱的代码: /** * met ...
- XCode 自动化打包总结
最近一个礼拜折腾xcode 中ipa 自动化打包,对我来说也说是磕磕碰碰.毕竟对mac下的命令行模式完全不熟悉.而且我们的项目是基于cordova的一个项目. 之前我自己对cordova 项目的命令行 ...
- 第四课 Gallery的使用
直接上代码 1.Layout--Main.axml <?xml version="1.0" encoding="utf-8"?> <Linea ...
- Android studio 环境搭建
环境变量: CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar JAVA_HOME:F:\Prog ...
- C#线程状态简析
在C# 语言世界中,当我们创建一个新的子线程,该线程状态为unstarted, 子线程开始之后,子线程状态为Running,IsAlive 为true: 线程响应 Thread.Start 并开始运行 ...