Java_Script_(上)
应用系统开发导论 Java Script 上内容JavaScript概述 JavaScript核心小结 JavaScript概述 JavaScript的基本概念 JavaScript 是一种脚本语言增强功能和表现客户端脚本使得页面动态和交互也可以作为服务端的脚本语言 JavaScript溯源由Netscape公司于1995年在它的Navigator 20产品上设计并实现原名LiveScript 但是在LiveScript发布三个月后出于销售策略上的考虑Netscape公司与Sun公司发表联合声明将LiveScript改名为JavaScript 所以尽管JavaScript与Java在名称语法结构关键字方面都有相似之处但实际上他们是完全不相干的目前JavaScript的标准化进程还不够完善尽管早在1997年ECMA就通过第一个版本的JavaScript标准JavaScript在其中被称为ECMAScript至今已有三个版本的标准ECMA-262问世 Microsofts JScript 一个样例代码 Welcome -- JavaScript Program -- script language "javascript" type "textjavascript" ---- [CDATA[ -- Utility Functions Section Checking Browser Version var ns4 documentlayers var ns6 documentgetElementById documentall var ns ns4 ns6 ns Mozilla Series Browser var ie documentall ie IE and Opera Browser Function for Finding Object Reference by ID function getObj nameId if documentall IE and Opera Browsers return documentall[nameId] else if documentgetElementById Mozilla Series Browsers return documentgetElementById nameId else alert "unsupported browser" navigatoruserAgent return null Global Data Section var cx 150 var cy 150 var radius 36 Main
Functions Section function trackMouse e if e e windowevent Fixing for IE Event Model var obj getObj "point" Finding Object Reference by ID point var nx ny if ie IE and Opera Browser nx eclientX docucomllLeft ny eclientY docucomllTop
else if ns Mozilla Series Browser nx parseInt epageX parseInt windowpageXOffset ny parseInt epageY parseInt windowpageYOffset var dx nx - cx var dy ny - cy var dst Mathsqrt dx dx dy dy if dst radius
var theta Mathasin dydst nx cx dx 01-1 radius Mathcos theta ny cy radius Mathsin theta com nx - 2 "px" com ny - 2 "px" Register Event Handlers documentonmousemove trackMouse -- ]] -- 6>HTML Document
Section -- img src "circlegif"
style "positionabsoluteleft98pxtop98pxz-index1" img src "pointgif"
id "point"
style "positionabsoluteleft150pxtop150pxz-index2" --
JavaScript 程序段 JavaScript Program -- 工具函数段 Utility Functions Section 浏览器类别和版本检查函数 Function for Checking Browser Version 对象索引函数 Function for Finding Object Reference by ID 全局数据段 Global Data Section 工作函数段 Main Functions Section -- HTML 文档段 HTML Document Section -- JavaScript特性JavaScript的语法构成上基本上与JavaCC等主流语言一致 JavaScript是一个
javascript全局数组弱类型的语言 JavaScript是一种基于对象的语言Object-Based Language注意
不是一种面向对象的语言Object-Oriented Language所以它在对对象的支持上
有一定缺陷大家所熟悉的诸如对象继承多态等面向对象语言所具有的基本特性
在JavaScript中只能通过一些变通手段来实现通常比较复杂 JavaScript作为一种解释性语言 JavaScript是一种具有丰富特性的语言它为开发者提供许多实用的库函数 JavaScript的功能控制文档的外观和内容对浏览器的控制
与HTML表单的交互与用户的交互存取客户的状态cookie JavaScript的安全性 JavaScript的安全性是通过运行在沙箱Sandbox环境中得到保证的沙箱环境通过监控JavaScript的操作给JavaScript程序的运行附加了许多安全性限制例如它不允许任意访问本地的硬盘并不能将数据存入到非同源的服务器上禁止
访问非同源网页上的文档对象从而有效地防止数据窃取等安全隐患非同源指的是下载JavaScript的站点不同于JavaScript请求交互的站点例如从A站点下载的JavaScript就不允许访问B站点网页的内容学习JavaScript必备技能
搭建基本的实验环境调试代码的基本技巧判别任务的可行性搭建基本的实验环境 Microsoft IE6 Editplus或Macromedia Dreamweaver Hello World script language "javascript" type "textjavascript"
documentwrite " Hello World " 调试代码的基本技巧documentwrite alert Debug script language "javascript" type "textjavascript" var msg "debug End" for index in document documentwrite "document["index"]
"document[index]" " alert msg 判别任务的可行性JavaScript只能操作浏览器提供的对象和接口 JavaScript不能跨越沙箱运行环境的安全限制 JavaScript核心内容基本语法特征 JavaScript中的数据JavaScript中的语句常用的库函数示例基本语法特征 JavaScript使用Unicode字符集16位的Unicode编码几乎可以表示地球上任何一种已编码的书面语言但是直到ECMAScript v3标准出现才要求Unicode字符可以出现在JavaScript程序的任何地方在早期版本的JavaScript中Unicode字符只能出现在注释或用引号括起来的字符串中而程序的其他部分只能使用ASCII字符集
JavaScript是大小写敏感的 JavaScript忽略空白字符和换行符除非它们是字符串直接量或正则表达式的一部分 JavaScript中行末的作为分隔符的分号可以省略没有分号的话默认以换行符作为语句的结束标记如果你想在同一行中书写多个语句的话分隔语句中间的分号必不可少JavaScript支持CCJava型的注释单行注释以领头多行注释用和标注 JavaScript中标识符Indentifier即命名函数和变量的名字第一个字符必须是英文字母下划线_或美元符号接下来的字符可以是字母数字下划线或美元符号实际上在ECMAScript v3标准中该限制已经放宽到允许标识符中出现Unicode转义字符但不不建议大家这么做此外标识符还不能与用于其他目的关键字同名 JavaScript中的数据数字字符串布尔值函数对象数组 null和undefined 使用值和使用引用自动类型转化操作符数字 Integer Literals 03100000 Octal Literals 0377 0666 Hexadecimal Literals 0xff0xABCD123 Floating-Point Literals 3143333327e64187E-18 字符串字符串string是由Unicode字符数字标点符号等组成的序列它是JavaScript用来表示文本的数据类型在JavaScript中没有char这样的数据的类型所以我们只能用长度为1的字符串来表示单个字符JavaScript中字符位置的索引值从0开始即第一个字符的索引值是0 字符串操作 strings concatenation msg "hello " "JavaScript" msg "hello JavaScript" str "ABCDEFG" length strlen strlength strlen is 7 the length of str charAt firstChar strcharAt 0 firstChar "A" substring midStr strsubstring 1 6 midStr "BCDEF" indexOf posC strindexOf C posC is 2 the position of the first letter C in str posNotFound is -1 since W doesnt exist in str posNotFound strindexOf W 布尔值布尔值boolean 代表了真与假它只有true和false两种合法值布尔值通常用在条件表达式中控制是否发生跳转由此控制分
支语句的执行 JavaScript程序中不显式区分类型其他类型的数据用在条件表达式中都会被隐式地转化成布尔类型一般非0非
null非undefined的变量都会被转化成true其他情况下就转化成false同样在
需将布尔值转化成数字的表达式中true和false会相应地转化成1和0 函数函数function是一个可执行的JavaScript代码段与Java不同函数在JavaScript中也可以作为一种数据类型 function functionName parameter return parameter retVal functionName parameter 函数的赋值Declare function first then use it as data function foo e return e buttononclick foo Notice no parentheses after foo Function Literals buttononclick function e return e Create Function Objects buttononclick new Function "e" alert 1 " 对象对象object是已命名
的数据的集合其中那些已命名的数据也就是对象的属性通常被称之为对象的域field 创建对象是我们可以用new关键字也可以使用对象直接量赋值的方法new Operation o new Object ox 1 oy new Object com 2 Object Literals o x 1 y z2 数组数组array是用数字索引的对象的集合数
组和对象最大的区别就是对象靠非数值的名字来索引其中的数据而数组靠的是
数字下标JavaScript中数组下标从0开始编号用方括号[]运算符来访问其中的
元素例如A[i]即表示数组A中第i1个元素 JavaScript数组中可以存放任何一
种JavaScript的数据类型而且不要求数组元素类型相同如果数组元素类型是另
一个的数组就构成多维数组这一点与Java语言中的数组很相似数组的创建Create Arrays var a new Array var b new Array 5 Access Elements in Arrays a[2] 12 a[3] "hello" b[7] a documentwrite a[0] Print undefined documentwrite b[7][3] Print "hello" var matrix [[1 2 3] "hello" true] documentwrite matrix[0] Print 123 null和undefined 对
象类型中包含一个特殊值null它表示无对象 null是一个独一无二的值有别于
其他所有的值通常被用来标记对象已失效同时表示值缺失还有一个比null更为通用的值undefinedJavaScript程序中任何一个未定义变量的值都是
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论