1-加载JavaScript方法
1-1 直接加入html方式(头文件定义)
<script language="Javascript">
<!--
document.writeln("这是Javascript!采用直接插入的方法!");
-->
</script> |
在这个例子中,我们可看到一个新的标签: <script>……</script>,而<script language="Javascript”> 用来告诉浏览器这是用Javascript编写的程序,需要调动相应的解释程序进行解释。
HTML的注释标签<!--和-->:用来去掉浏览器所不能识别的Javascript源代码的,这对不支持 Javascript 语言的浏览器来说是很有用的。
//-Javascript结束:双斜杠表示 Javascript的注释部分,即从//开始到行尾的字符都被忽略。 至于程序中所用到的document.write()函数则表示将括号中的文字输出到窗口中去, 这在后面将会详细介绍。 另外一点需要注意的是,<script>……</script>的位置并不是固定的,可以包含在<head>......</head> 或<body>.....</body>中的任何地方。
1-2 引用JS文件方式
如果已经存在一个Javascript源文件(以js为扩展名),则可以采用这种引用的方式,以提高程序代码的利用率。其基本格式如下:在网页中可以这样调用程序:
<script src="Script.js" language="Javascript"></script> |
2-JavaScript的注释
2-1 单行注释方式:“// 文本”;
2-2 多行注释方式:“/* 文本 */”
3-JavaScript的过程控制
3-1 选择结构
用来指明两种程序流方向,在程序中创建一个交叉点(像岔路)。在 Jscript 中有四种选择结构可用。
(1)单一选择结构(if),
(2)二路选择结构(if/else),
(3)内联三元运算符 ?:
(4)多路选择结构(switch)。
3-2 循环结构
使用循环结构来指明当某些条件保持为真时要重复的动作。当控制语句的条件得到满足时(通常在某些迭代的特定数字后),控制跳过循环结构传递到下条语句。在 Jscript 中有四种循环结构可用。
(1)在循环的开头测试表达式(while)
(2)在循环的末尾测试表达式(do/while),
(3)对对象的每个属性都进行操作(for/in),
(4)由计数器控制的循环(for)。
4-判断对象或变量是否存在;
if(typeof(x) == “undefined”){
alert("存在");
} else { alert("不存在"); } |
5-判断对象是否有对应属性;
if("prop" in someObject){
alert("存在prop属性");
} else { alert("不存在prop属性");
} |
6-JavaScript变量与对象
var str1 = "this is String1"; // 字符串变量
var str2 = "this is String2";
var objstr1 = new String(str1); // 字符串对象
var objstr2 = new String(str2);
if(str1 == str2){ alert("Same"); } // 按值判断 if(objstr1.valueOf() != objstr2){ alert("No Same"); } |
7-数组
var myArray = new Array(3);
myArray[0] = "Hello"
myArray[1] = "JavaScript"
myArray[2] = "World!" |
8-JavaScript的11个内置对象
(1)Array--------数组对象
(2)Boolean-----布尔对象
(3)Date---------日期时间对象,
(4)Function---函数定义
(5)Global------全局定义
(6)Math--------科学计算函数(PI,sin,pow等)
(7)Number----数值对象
(8)Object------对象
(9)RegExp----正则表达对象
(10)Error-----错误对象
(11)String-----字符串对象
9-JavaScript创建自定义对象方法
(1)自定义构造器创建对象(类)
// 创建对象构造器并传递变量 function person(v_name, v_sale, v_sexy){
this.name = v_name; // 类变量name
this.sale = v_sale;
this.sexy = v_sexy;
this.today = new date(); // 内部变量
this.toString = personTostring; // 对象方法指定
} // 对象指定方法实现 function personTostring(){ return "Name :"+this.name+"sale"+this.sale+"sexy"+this.sexy;
} |
使用时:
var personal1 = new personal("stven","2300","1");
alert(personal1.toString()); |
(2)继承内置原型创建对象prototype
对于每个JavaScript内置对象中都存在一个叫prototype的方法该方法就是对指定内置对象中附加相应性性与方法的构造函数(反射)
如,在String对象中追加trim函数
String.prototype.trim = function(){
return this.replace (/(^\s*)|(\s*$)/g, "");
} |
使用时:
var String1 = " testdd ";
String1.trim(); |
10-强制类型比较
在JavaScript中采用自动类型转换方式(像PHP),若要确保真正意义上的相同,并对比类型采用“===”进行判断处理。
"100" == 100 // true
false == 0 // true
?g100?h === 100 // false
false ===0 // false |
August 13
Dojo
Dojo 是目前最为强大的JS框架,它在自己的 Wiki 上给自己下了一个定义,Dojo 是一个用 JavaScript 编写的开源的DHTML工具箱。Dojo 很想做一个“大一统”的工具箱,不仅仅是浏览器层面的,野心还是很大的。Dojo 包括 Ajax、Browser、Event、Widget 等跨浏览器 API,包括了 JS 本身的语言扩展,以及各个方面的工具类库,和比较完善的 UI 组件库,也被广泛应用在很多项目中,他的 UI 组件的特点是通过给 HTML 标签增加 TAG 的方式进行扩展,而不是通过写 JS 来生成,Dojo 的 API 模仿 Java 类库的组织方式。用 Dojo 写 Web OS 可谓非常方便。Dojo 现在已经 4.0 了,Dojo 强大的地方在于界面和特效的封装,可以让开发者快速构建一些兼容标准的界面。
优点:库相当完善,发展时间也比较长,功能强大,据说利用 Dojo 的 io.bind() 可以实现 comet 看见其功能强大非一般,得到 IBM 和 SUN 的支持。
缺点:文件体积比较大,200多KB,初次下载相当慢,此外,Dojo 的类库使用显得不是那么易用,JS语法增强方面不如 Prototype
Prototype
它是一个非常优雅的 JS 库,定义了 JS 的面向对象扩展,DOM 操作API,事件等等,以 Prototype 为核心,形成了一个外围的各种各样的 JS 扩展库,是相当有前途的 JS 底层框架,值得推荐,感觉也是现实中应用最广的库类(RoR 集成的 AJAX JS 库),之上还有 Scriptaculous 实现一些JS组件功能和效果。
优点:基本底层,易学易用,甚至是其他一些js特效开发包的底层,体积算是最小的了。
缺点:如果说缺点,可能就是功能是他的弱项
dScriptaculous
Scriptaculous 是基于prototype.js 框架的 JS 效果。包含了 6 个 js 文件,不同的文件对应不同的 js 效果,所以说,如果底层用 prototype 的话,做js效果用 Scriptaculous 那是再合适不过的了,连大名鼎鼎的 digg 都在用他,可见不一般
优点:基于prototype 是最大的优点,由于使用 prototype 的广泛性,无疑对用户书锦上添花。
缺点:刚刚兴起,需要时间的磨练
Yui-ext
基于 Yahoo UI 的扩展包 yui-ext 是具有 CS 风格的 Web 用户界面组件,能实现复杂的 Layout 布局,界面效果可以和 backbase 媲美,而且使用纯 javascript 代码开发。真正的可编辑的表格 Edit Grid,支持 XML 和 Json 数据类型,直接可以迁入 Grid。许多组件实现了对数据源的支持,例如动态的布局,可编辑的表格控件,动态加载的 Tree 控件、动态拖拽效果等等。从 1.0 beta 版开始同 Jquery 合作,推出基于 jQuery 的 Ext 1.0,提供了更多有趣的功能。
优点:结构化,类似于 java 的结构,清晰明了,底层用到了 Jquery 的一些函数,使整合使用有了选择,最重要的一点是界面太让让人震撼了。
缺点:太过复杂,整个界面的构造过于复杂。
Jquery
JQuery 是一款同 prototype 一样优秀 js 开发库类,特别是对 css 和 XPath 的支持,使我们写 js 变得更加方便!如果你不是个 js 高手又想写出优秀的 js 效果,那么 JQuery 可以帮你达到目的!并且简介的语法和高的效率一直是jQuery追求的目标。
优点:注重简介和高效,js 效果有 yui-ext 的选择,因为 yui-ext 重用了很多 jQuery 的函数
缺点:据说太嫩,历史不悠久。
Mochikit
MochiKit 自称为一个轻量级的 js 框架。MochiKit 主要受到 Python 和 Python 标准库提供的很多便利之处的启发,另外还缓解了浏览器版本之间的不一致性。其中的 MochiKit.DOM 尤其方便,能够以比原始 JavaScript 更友好的方式处理 DOM 对象。MochiKit.DOM 大部分都是针对 XHTML 文档定制的,如果与 MochiKit 和 Ajax 结合在一起,使用 XHTML 包装的微格式尤其方便。Mochikit 可以直接对字符串或者数字格式化输出,比较实用和方便。它还有自己的 js 代码解释器
优点:MochiKit.DOM 这部分很实用,简介也是很突出的
缺点:轻量级的缺点
Mootools
MooTools 是一个简洁,模块化,面向对象的 JavaScript 框架。它能够帮助你更快,更简单地编写可扩展和兼容性强的 JavaScript 代码。Mootools 跟 prototypejs 相类似,语法几乎一样。但它提供的功能要比 prototypejs 多,而且更强大。比如增加了动画特效、拖放操作等等。
优点:可以定制自己所需要的功能,可以说是 prototypejs 的增强版。
缺点:不大不小,具体应用具体分析。
Moo.fx
Moo.fx是 一个超级轻量级的 javascript 特效库(7k),能够与 prototype.js 或mootools 框架一起使用。它非常快、易于使用、跨浏览器、符合标准,提供控制和修改任何 HTML 元素的 CSS 属性,包括颜色。它内置检查器能够防止用户通过多次或疯狂点击来破坏效果。moo.fx整体采用模块化设计,所以可以在它的基础上开发你需要的任何特效。
优点:小块头有大能耐
缺点:这么小了,已经不错了
引用来自:冷眼 - 技术专栏 http://www.blogjava.net/kent/articles/202855.html
August 12
环境:WindowsXp(sp2)
简要说明:使用“netstat”查看端口对应PID(应用程序执行线程),再使用“tasklist”查看PID对应的应用程序。
1-查看端口开放及对应PID情况
方法:使用系统命令“netstat”处理。
Netstat命令用法
命令格式:Netstat -a -e -n -o -s-an
-a 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。
-e 表示显示以太网发送和接收的字节数、数据包数等。
-n 表示只以数字形式显示所有活动的TCP连接的地址和端口号。
-o 表示显示活动的TCP连接并包括每个连接的进程ID(PID)。
-s 表示按协议显示各种连接的统计信息,包括端口号。
-an 查看所有开放的端口

2-使用tasklist查看PID对应程序

查看相应的程序后将该程序的服务停止即可将相应的端口释放。
August 08
环境:
WindowsXp(Sp2)
PHP4.3.8
IIS5
因为一直在使用Apache做为WebServer所以有些忘记IIS下是如何配置的了,下面我将根据从网上找到的资料对IIS下安装PHP(ISAPI方式)进行说明。
注:因为刚开始配置PHP的时候采用的是解释方法,即直接采用.php扩展名用php.exe解释的方式,但配置后会因为Oracle.dll加载不上造成项目不可使用的情况,因此采用了ISAPI方式。
1- 安装IIS5(不再详细说明了)
2- 准备PHP环境进行配置
2-1 将PHP解释文件放到你所想安装的目录中(本文以C:\PHP4.3.8为例);
2-2 把C:/PHP4.3.8下面的php.ini-dist文件复制到Windows目录下,并改名成php.ini;
*配置Extension与Session时需要打开该ini文件采用绝对路径(全路径)方式书写;
2-3 把C:/PHP4.3.8/php4ts.dll复制到C:/Windows/system32目录下;
2-4 点开始/运行,输入mmc启动Windows综合管理台,选择菜单中“文件”->“管理追加与删除”在弹出的窗口中点击[添加]按钮,在后弹出的窗口中选择“计算机管理”,点击[添加]按钮(点完后窗口不消息),再点击[关闭]即完成添加;
*这时会在前一窗口中显示出被添加的管理项。
2-5 选择2-4所添加的“计算机管理”项,点击“服务与程序”项,选择“Internet服务项”;
2-6 在计算机管理窗口上展开“服务和应用程序”->“Internet信息服务”,在“默认Web站点”上点鼠标右键,选属性,这时系统弹出“默认Web站点属性”窗口;
2-7 在“默认Web站点属性”窗口上点取“ISAPI筛选器”标签,点击“添加”按钮,在弹出的“筛选器属性”窗口的“筛选器名称”中输入“PHP”,“可执行文件”中输入“C:/PHP4.3.8/sapi/php4isapi.dll”,点击[确定];
2-8 在“默认Web站点属性”窗口上点取“主目录”标签,点“配置”按钮,在弹出的“应用程序配置”窗口中点取“添加”按钮,在弹出的“添加->编辑应用程序扩展名映像”对话框中的“可执行文件”文本框中输入“C:/PHP4.3.8/sapi/php4isapi.dll”,“扩展名”文本框中输入“.php”(注意一定要有那个点),点击[确定];
2-9 回到命令行窗口,输入“net stop iisadmin”命令,终止IIS服务。系统会问你是否要将相关的服务也停止,答
2-10 输入“net start w3svc”命令,重新启动IIS服务;
*因为采用的是isapi方式(与Apache模块方式相似)因此每次重新配置php的时候都需要重启IIS服务器。
3- 查看配置情况验证php解释运行(制作一个phpinfo.php文件)
[phpinfo.php]
把这个文件保存在默认Web节点的默认文文件目录下(C:/Inetpub/wwwroot),然后打开浏览器,在地址栏中输入localhost/hello.php,如果顺利,经典的“Hello,World!”应该出现在你的浏览器中。如果找不到页面,而你也能确认上述几步都没问题,那么在浏览器的地址栏中输入地址127.0.0.1/hello.php试试看,如果能成功,则说明你的hosts文件有问题,请编辑C:/WINNT/system32/drivers\etc下面的hosts文件,加入“127.0.0.1 localhost”一行。
资料整理来自:php 168论坛http://bbs.php168.com/simple/index.php?t120797.html
August 07
从9i开始,oracle的安装缺省包含了XDB。在数据库后,Oracle XDB的http服务自动霸占了8080端口,这给使用或JBoss、Tomcat进行java web开发的人造成了不小的麻烦。 这里介绍修改XDB的http和ftp服务端口的3种方法:
1.使用dbms_xdb包修改端口设置
使用sys登录sqlplus
sqlplus sys/syspassword as sysdba
然后执行如下的脚本
============================
-- Change the HTTP/WEBDAV port from 8080 to 8081
call dbms_xdb.cfg_update(updateXML(
dbms_xdb.cfg_get()
, '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()'
, 8081))
/
-- Change the FTP port from 2100 to 2111
call dbms_xdb.cfg_update(updateXML(
dbms_xdb.cfg_get()
, '/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()'
, 2111))
/
COMMIT;
EXEC dbms_xdb.cfg_refresh;
2.使用OEM console
选择数据库,XML Database,Configuration。更改XDB的有关设置。
3.修改SPFILE[SID名].ORA文件,去掉数据库的初始化参数:
这个文件是Oracle的启动配置文件dispatchers='(PROTOCOL=TCP) (SERVICE=XDB)',将会禁止XDB的http和ftp服务。
重启计算机,或者在服务中重启OracleService[SID名]这个服务。重启后可能无法使用Enterprise Manager Console和其他客户端连接,这时请使用Oracle的Configuration and Migration Tools/Net Configuration Assistant工具删除监听器,然后新建一个监听器,重启监听器。
转载来自:中国IT实验室,http://oracle.chinaitlab.com/install/351299.html
*用于个人技术类收藏,仅用于个人。
June 20
ionCube是一款对PHP代码进行加密的软件,该软件强于ZendGuard功能,不仅可以对PHP(或带有PHP标记)的文件进行加密处理,还可以对非PHP类,以文本(TEXT)方式存储的文件进行加密处理,如:XML,CSS,JS等文件。
但是对于被ionCube加密后的文件需要使用其所提供的API对文件进行读取操作后才能处理,因此就必须对原代码进行简单调整。
下面我们将讲述ionCube加密前,相关文件的调整说明。(读取XML并解析),使用ionCube的ioncube_read_file读取加密后的xml文件
*对于写文件与读文件相同,不再讲述,使用ionCube的ioncube_write_file进行写加密文件。
1- 调整前代码
test.php
<?php
// 该代码是使用PHP的SAX方式对指定XML文件进行解析并打印Tag
$file = "book.xml";
$depth = array();
function startElement($parser, $name, $attrs){
global $depth;
for ($i = 0; $i < $depth[$parser]; $i++) {
|