《征服AjaxWeb2.0开发技术详解》读书笔记1
KeyWord:Ajax,征服Ajax,征服AjaxWeb2.0开发技术详解,Ajax教程,Ajax图书,Ajax学习,学习Ajax
只是一些零散的语句。很多是我以前比较模糊的概念。看了前几章以后有了比较具体的认识。
从HTML4.0开始,language属性已经被淘汰,开始倾向于使用type属性。但是有些旧版本的浏览器(如IE3.x)不支持<script>的type属性,为了向下兼容,通常将两个属性同时使用。
使用外部javscript要注意编码问题。外部文件实现的原理是:浏览器把外部文件的内容全部复制过来嵌入到html页面中,再进行执行。这个复制的过程是一个二进制的拷贝,因此当HTML页面的编码和javascript文件的编码不一致或者不兼容的时候,就有可能产生问题。
解决编码问题的方法之一是使两者统一编码,现在通用的方法是使用utf-8编码。
改变文件编码的方法之一就是用记事本打开文件然后再另存为,在保存文件对话框中有“编码选择”下拉列表,从中选择utf-8,覆盖原文件即可。
另一个解决办法是使用<script>标记的charset属性,这个属性制定了外部文件的编码方式,从而使外部文件和html文件可以使用不同的编码,这个在跨站点使用javascript文件时很有用。例如:
<script src=”xxx.js” type=”text/javascript” charset=”gb2312”></script>
Javascript一共有9种数据类型。分别是:为定义(Undefined)、空(Null)、布尔(Boolean)、字符串(String)、数值(Number)、对象(Obejct)、引用(Reference)、列表(List)和完成(Completion)。其中后3种仅仅作为javascript运行时中间结果的数据类型,因而不能再代码中使用。
在javascript中,可以使用typeof操作符来获取一个变量所包含数据的类型,语法是typeof(变量名或常理)。
对前6种数据类型的简单介绍:
1:Undefined 此种类型仅有一个变量值,即undefined。任何未被赋值过的变量都属于次类型。Undefined数据类型不能赋值给其他变量。否则将产生变量未定义的错误。
2:Null 此种类型仅有一个变量值,即null。当一个数据类型被赋值为null的时候,它的数据类型就是null。
3:Boolean 有2个值:true和false。
4:String 一个字符串指的是用双引号或者单引号括起来的有穷的字符序列。其长度没有限制。
5:Number 数字类型有一个特殊的值:NaN,全称是:Not a Number。在系统中他用一个特殊的数字90071992547400990(即2的53次方-2)来表示。NaN只能在运行时产生。数字类型还有另外2个特殊的值:Infinity和-Infinity,表示正无穷大和负无穷大。
6:对象类型的变量存储的时一个对象,简单的说,一个对象就是一定属性和方法的一个封装体,通过他能引用到这些方法和属性。
Javascript中无法为一个变量指定类型,只能由变量所存储的数据决定。
在javascriptzho0年中,对函数类型,对象类型变量的参数传递都是引用传递,下面是个例子。
Function addFlag(_obj){
_obj.flag=”object”;
}
Var obj=new Object();
alert(obj.flag); //undefined
addFlag(obj);
alert(obj.flag); //object
在javascript中有一些功能是很常用的,他们以全局函数的形式提供给用户,这些函数成为内部函数。内部函数实际上是作为一个特殊对象的方法而存在,这个对象的名称为Global。是一个内部的固有对象,不能被直接使用。Global对象在校本引擎初始化的时候被创建,并使其方法立即可用。
使用parseInt和parseFloat函数将字符串转为数字。
使用escape和unescape函数进行URL编码的解码
使用isNaN和isFinite函数判断数字的类型。
Binds the specified function to an event, so that the function gets called whenever the event fires on the object.
Syntax
bSuccess = object.attachEvent(sEvent, fpNotify)
Parameters
sEvent |
Required. String that specifies any of the standard DHTML Events. |
fpNotify |
Required. Pointer that specifies the function to call when sEvent fires. |
Return Value
Boolean. Returns one of the following possible values:
true |
The function was bound successfully to the event. |
false |
The function was not bound to the event. |
Remarks
When sEvent fires on the object, the object's sEvent handler is called before fpNotify , the specified function. If you attach multiple functions to the same event on the same object, the functions are called in random order, immediately after the object's event handler is called.
The attachEvent method enables a behavior to handle events that occur on the containing page. This method is not limited, however, to behaviors. You can also define a function on a page that attaches to events fired on the same page.
Behaviors that attach to events using the attachEvent method must explicitly call the detachEvent method to stop receiving notifications from the page when the ondetach event fires.
A behavior that attaches to events on the page using the HTML Component (HTC)?A HREF="/workshop/components/htc/reference/elements/attach.html">PUBLIC:ATTACH element automatically stops receiving notifications when the behavior detaches from the element, and does not need to call the detachEvent method.
Note To use the attachEvent method with Microsoft® Visual Basic® Scripting Edition (VBScript), you need to use the GetRef to obtain a function pointer. The function pointer can then be passed to attachEvent.
Examples
This example shows how to implement a mouseover highlighting effect by calling the attachEvent method from an HTC.
<PUBLIC:ATTACH EVENT="ondetach" ONEVENT="cleanup()" />
<SCRIPT LANGUAGE="JScript">
attachEvent ('onmouseover', Hilite);
attachEvent ('onmouseout', Restore);
function cleanup()
{
detachEvent ('onmouseover', Hilite);
detachEvent ('onmouseout', Restore);
}
function Hilite()
{
if (event.srcElement == element)
{
normalColor = style.color;
runtimeStyle.color = "red";
runtimeStyle.cursor = "hand";
}
}
function Restore()
{
if (event.srcElement == element)
{
runtimeStyle.color = normalColor;
runtimeStyle.cursor = "";
}
}
</SCRIPT>
The following example shows how to use the attachEvent method with VBScript. When you click on the span's text, the event handler changes the background color.
<HTML>
<BODY ONLOAD="setupEventHandler()" LANGUAGE="VBS">
<SCRIPT LANGUAGE="VBS">
function setupEventHandler()
set fpchgBackground = getRef("chgBackground")
call mySpan.attachEvent("onclick", fpChgBackground)
end function
function chgBackground()
document.bgColor = "lemonchiffon"
end function
</SCRIPT>
<SPAN ID="mySpan">SPAN</SPAN>
</BODY>
</HTML>
Standards Information
There is no public standard that applies to this method.