Javascript学习--基础知识1

页面使用Javascript的三种方法:
  • 使用嵌入式<script>标记,如:
<script language="Javascript" type="text/javascript">
<!--
//这里是代码内容
//
-->
</script>
  • 使用外部Javascript文件,如:
<script language="Javascript" type="text/javascript" src="xx.js"></script>
//使用外部Javascript时注意,后缀名js并不是必须的,只要能生成需要的javascript代码就行,如:<script type="text/javascript" src="xx.asp?s=test"></script>
  • 嵌入HTML标记的Javascript代码,如:
<body onload="alert('hello!')">
//这种方式Javascript代码被嵌入到标记中,以属性值的方式出现。可以加入以分号隔开的多条语句。
//
注意,应避免这种类型的Javascript调用,因为它将代码分散到页面各个部分,造成维护的困难。
//
通常的作法是调用一个全局函数,表示响应事件的处理函数,这个函数在<script>标记中定义,有利于合理地组织程序结构。如:
//
利用DOM模型引用body结点,并将事件处理程序绑定到特定的事件上(这里是alert)
//
document.body.onload=function(){
//
   alert("hello");
//
}

Javascript如何工作?
  • 由于浏览器执行HTML页面的过程是自上而下的线性过程,嵌入到页面中的<script>标记同样是作为这个线性执行过程的一部分,直到载入完这个标记时才会被执行。
  • 而使用外部Javasript文件时,在页面载入Script文件完成的时候浏览器会立即执行其中的代码,两者是并发执行的过程。
编码问题
如果HTML页面与外部Javascript文件的编码不一致时会导致页面出现乱码或代码不能执行。因此,方法一是使两者统一编码,使用utf-8编码;方法二是使用<script>标记的charset属性,这个属性指定了外部文件的编码,如:<script src="xxx.js" type="text/javascript" charset="gb2312"></script>

Javascript变量是区分大小写的,首字符必须以字母、下划线、$开头,不能保留字或关键字。

Javascript有9种数据类型:未定义(Undefined)、空(Null)、布尔(Boolean)、字符串(String)、数值(Number)、对象(Object)、引用(Reference)、列表(List)、完成(Completion)。后3种类型仅仅Javascript运行时中间结果的数据类型,不能在代码中使用。以下为每种类型的值列表:
Undefined:undefined
Null:
null
Boolean:
truefalse
Number:NaN(全称Not a Number,即非数字)、Infinity(正无穷大)、
-Infinity(负无穷大)

数据类型的转换
数据类型转换表

表达式
A、使用比较表达式
        1、使用等于和不等于操作符(==和!=)
1)如果x和y是Null或Undefined,则返回true。
2)如果x和y类型相同,则看两者在数值上是否相等;对于Object,则比较其是否引用同一个对象。
3)如果x和y分别是数字类型和字符类型,则将字符转换成数字后再比较。
4)如果x和y分别是布尔类型和数字类型,则将布尔转换成数字后再比较。
5)如果x和y分别是布尔类型和字符类型,则将两者均转换成数字后再比较。
        2、使用大于、小于操作符(>和<)和大于等于、小于等于(>=和<=)

1)数字比较大小。
2)字符按字典顺序。
3)比较数值和字符串类型时,将字符串转换成数字类型再比较。
4)比较布尔和字符串类型时,始终返回false。
        3、使用恒等于和非恒等于操作符(===和!===)

1)严格比较两个变量的值是否相等,不会做任何转换的工作,如 2==="2"是不成立的,返回false
B、使用逻辑表达式

C、使用逗号表达式

引用资料:征服Ajax Web 2.0技术详解 王沛 冯曼菲 人民邮电出版社2006年6月

声明:本篇文章所展现的代码及文字均引自征服Ajax Web 2.0技术详解一书,本文只是个人在学习该书过程中的学习总结,以便于自己日后查阅方便以及与技术同人的交流,若要将本文中所提及的内容用于商业用途请与原作者联系,否则所有将该文发布而引起的纠纷均与本人无关 2006年10月10日
posted @ 2006-10-10 21:12  独行者  阅读(787)  评论(0)    收藏  举报