黑马程序员PHP培训教程:同步和异步介绍(共4篇)
黑马程序员PHP培训教程:同步和异步介绍 篇1
什么是AJAX 1999年,微软公司发布IE5浏览器的时候嵌入的一种技术。起初名字是XMLHttp,直到2005年,google公司发布了一个邮箱产品gmail,内部的gtalk聊天工具有使用ajax技术,该事情引起人们对ajax的注意,并广泛使用,也使得一蹶不振的javascript语言从此被人们重视起来。
Ajax能实现所有操作都是在不刷新窗口的情况下完成的
同步和异步介绍
同步
客户端在浏览的时候,服务器在等待,服务器在处理请求的时候,客户端在等待,这是同步的。用户体验不好。
异步
客户端将请求的地址交个ajax对象,ajax对象去服务器获取数据,ajax对象获取数据后再将数据交给客户端。这样,浏览器界面没有跳转,所以用户体验比较好。
创建AJAX对象
AJAX的核心就是javascript的XmlHttpRequest对象
1.1.1 主流浏览器创建方法
火狐、google、苹果safari、opera包括IE7以上版本的浏览器
1.1.2 ie6、7、8
实例化ActiveXObject对象的参数有:
var request= new ActiveXObject(“Microsoft.XMLHTTP”);//最原始方式 var request = new ActiveXObject(“Msxml2.XMLHTTP”);//升级 var request = new ActiveXObject(“Msxml2.XMLHTTP.3.0”);//升级 var request = new ActiveXObject(“Msxml2.XMLHTTP.6.0”);//IE维护的最高版本
1.1.3 兼容处理
黑马程序员PHP培训教程:同步和异步介绍 篇2
在vim中存在三种模式:命令模式、末行模式、编辑模式。三个模式之间的相互关系:
2.4、末行模式
默认是命令模式,如果说需要进入到末行模式,则可以在命令模式中按下英文“:”。
2.4.1、保存/另存
保存:
语法::w(write)
另存:
语法: :w 文件的路径
另存的结果:
2.4.2、退出
语法:
:q(quit)
提示:有些时候,如果对当前编辑的文档已经进行了修改,但是又不想保存想直接退出,则可以输入:q!,同样也有:wq!。其中的感叹号表示强制的意思。
2.4.3、查找
语法:
/字符串
对于查找的结果,同样会和打开文件的第三种方式一样,进行高亮显示,可以使用N和n进行上一个和下一个结果的切换。
2.4.4、替换
第一种情况:
语法:
:s/需要替换的字符串/替换成的字符串 一处符合条件的字符串)例如:
第二种情况:
语法:
:s/需要替换的字符串/替换成的字符串/g(替换光标所在行全部符合条件的地方,g表示global)例如:
(表示替换当前光标所在的行的第第三种情况: 语法:
:%s/需要替换的字符串/替换成的字符串(表示替换当前文档中每一行第一个符合条件的地方)例如:
第四种情况: 语法:
:%s/需要替换的字符串/替换成的字符串/g 地方)例如:
黑马程序员PHP培训教程:同步和异步介绍 篇3
类的自动加载: 基本概念:
当在一个代码中,需要使用一个类(比如new),但此时,在这行代码之前,都没有出现过该类的定义,则php有一种机制,可以让系统这个时候去调用一个函数,在该函数中,我们就可以预先写好加载类的代码——这样就实现了类的自动加载。
该函数就是:__autoload()该函数使用形式如下:
function __autoload($class_name){
//这里就可以去写加载类的代码,其中:
//$class_name就代表“正需要”的那个类名;
} [PHP] 纯文本查看 复制代码 ? 1
黑马程序员济南中心 编著
可见,实现这种类的自动加载的方便性,需要做到:
1,类文件名有一个统一的形式:比如:类名.clsss.php
2,统一都放在一个文件夹中;
3,尽可能做到:一个类文件中,只放一个类的定义;
自定义类的加载函数
使用下述函数,可以人为定义“多个”自动加载函数(这些函数的作用跟__autoload)一样。使用形式:
spl_autoload_register(“自动加载函数名1”);
spl_autoload_register(“自动加载函数名2”);
。。
然后就可以去定义这些函数了
在运行的时候,如果需要一个类,就先调用第1个函数去“试图”加载该类,如果在该函数中没有加载成功,就会继续调用下一个函数继续“试图”加载该类,依此类推。。举例:
[PHP] 纯文本查看 复制代码 ? 01
04 spl_autoload_register(“auto1”);
黑马程序员济南中心 编著
05 spl_autoload_register(“auto2”);06 function auto1($class_name){ 07 echo “
进入auto1,需要:$class_name”;08 $file = “./{$class_name}.class.php”;09 if(file_exists($file)){ 10 include_one $file;11 } 12 } 13 function auto2($class_name){ 14 echo “
进入auto2,需要:$class_name”;15 $file = “./{$class_name}.class.php”;16 if(file_exists($file)){ 17 include_one $file;18 } 19 } 20 $obj1 = new A();22 echo “
”;23 var_dump($obj1);24 $obj2 = new B();26 echo “
”;
黑马程序员济南中心 编著 var_dump($obj2);
展示结果为: 进入auto1,需要:A object(A)#1(0){} 进入auto1,需要:B 进入auto2,需要:B object(B)#2(0){}
对象的复制
$obj1 = new A();
$obj2 = $obj1;
//这里,虽然是值传递,但因为对象数据存储的特殊性,并没有复制对象数据本身
//即,并没有生成一个新对象;
要想复制一个对象——得到一个完完全全的相同的对象,只能这样:
$obj3 = clone $obj1;[PHP] 纯文本查看 复制代码 ? 01
黑马程序员济南中心 编著
05 } 06
07 $obj1 = new A();08 $obj2 = $obj1;09 $obj3 = clone $obj1;10 var_dump($obj1);11 var_dump($obj2);12 var_dump($obj3);13 $obj1->p1 = 11;15 var_dump($obj1);16 var_dump($obj2);17 var_dump($obj3);展示效果:
object(A)#1(1){[“p1”]=>int(1)} object(A)#1(1){[“p1”]=>int(1)} object(A)#2(1){[“p1”]=>int(1)}
object(A)#1(1){[“p1”]=>int(11)} object(A)#1(1){[“p1”]=>int(11)} object(A)#2(1){[“p1”]=>int(1)}
黑马程序员济南中心 编著
可见,普通赋值所得到的对象,仍然是原来的对象;
只有clone所得到的对象,才是一个全新的对象; 注意:
1,当对一个对象进行克隆的时候,就会自动调用系统中的__clone()魔术方法(如果有);
2,因此,对于单例类的需求来说,就应该做到:禁止克隆,写法:
private function __clone(){ }
对象的遍历
跟数组类似,对象的“所有属性”,也是可以进行遍历的——一个一个取出。
形式:
foreach($对象 as $prop => $value){
//$prop表示属性名;
//$value表示对应的属性值;
} 注意:
其实能取到的属性数据,只是在该位置可以访问(有权限访问)到的那些。[PHP] 纯文本查看 复制代码 ? 01
黑马程序员济南中心 编著
04 05 class A{ 06 public $p1 = 1;07 protected $p2 08 = 2;09 private $p3 = 3;10 static $p4 = 4;11 function 12 showInfo(){ 13 foreach($this 14 as $prop=>$value){ 16 echo “属性17 $prop = $value”;18 } 19 } 20 } 21
$a1 = new A();foreach($a1 as $prop=>$value){ echo “属性
黑马程序员济南中心 编著
$prop = $value”;}
$a1->showInfo();展示效果: 属性p1 = 1;
属性p1 = 1 属性p2 =2 属性p3 = 3
不知道大家对今天讲的类和对象的其他相关技术学习的怎么样啊?有什么疑问欢迎来黑马程序员济南中心来咨询哟~
黑马程序员PHP培训教程:同步和异步介绍 篇4
目前:jquery是用的最火的一个javascript框架 Prototype:最早一个成熟的JS框架
Jquery,YUI(雅虎),tangram(百度),JX腾讯,kissy阿里 Jqurty:用户多,速度快,文件小,比较复杂的DOM封装
Javascript和jquery:
Js:ECMAscript,BOM,DOM Jq:把BOM和DOM的部分给封装 JQ特点:
资源多,DOM封装,浏览器的兼容
理念:write less,do more 部署: 注意:不管任何时候要写JQ就必须引入,必须最先引入 下载:
Compressed:压缩版本,生产环境
Uncompressed:未压缩版本,开发环境
Jquery-XXXXXX.js:有注释,容易查看代码 Jquery-XXXXXX.min.js;没有注释 开发中:1.x和2.x版本的区别
1.9以下的版本,1.9以上的都不值IE8 例子:
Jquery:核心,内容
语法:$(select).action();Console.log:控制台日志
选择器,事件,DOM,动画,基本操作,插件,ajax 选择器:
选择器:选择页面元素的工具 最早的时候选择器出名
基本选择器:重点
#id:id选择器
Element:元素选择器 Class:类选择器
层级选择器:重点
ancestor descendant:表示选取ancestor里面所有的descendant元素 parent>child:选择parent元素的子元素 selecter+:获取后面的兄弟元素,下一个 selecter~:后去后面的兄弟元素,下所有个
内容选择器:
:Contains(“text”):匹配含有text内容的元素 :empty:匹配内容为空的元素
:has(selecter):选择包含有selecter的选择器 :parent:选择作为父元素的元素
注册验证:
1,鼠标放到email框会提示信息
2,鼠标离开就会检测用户所填写的信息
3,提示信息是灰色字体,检测之后(错误)的字体红色 4,当填写信息正确的时候会出现一个对号(图片)5,提交的时候也会做检测 6,检测全部正确的话就让提交
【黑马程序员PHP培训教程:同步和异步介绍】推荐阅读:
黑马程序员济南中心PHP第11天教程11-12
黑马程序员C语言教程:C++语言78个常见编译错误及分析11-15
黑马程序员面试题精编06-01
黑马程序员基础测试题08-27
黑马程序员:AJAX入门系列10-17
【黑马程序员】Java之debug总结三09-22
【黑马程序员】为什么面试官喜欢问职业规划05-19
php程序员培训机构07-15