JavaScript_1_JS基本语法

JavaScript_1_JS基本语法
JavaScript_1_JS基本语法

第一天

1:定义

javascript是一种弱类型、动态类型、解释型的脚本语言。

弱类型:类型检查不严格,偏向于容忍隐式类型转换。

强类型:类型检查严格,偏向于不容忍隐式类型转换。

动态类型:运行的时候执行类型检查。

静态类型:编译的时候就知道每个变量的类型。

解释型:程序不需要编译,程序在运行的时候才翻译成机器语言,每执行一次都要翻译一次,因此效率比较低,但是跨平台性好。

编译型:程序在执行之前需要一个专门的翻译过程,把程序编译为机器语言的文件,运行时直接使用编译的结果就行了。

标记语言:标记语言的存在就是用来被读取(浏览)的,而其本身是没有行为能力的,在标记语言里你会看到<和>这些尖括号,这是用来写出“层次”和”属性”的,换句话说,它是被动的。并不具备与访问者互动的能力。

编程语言:它是具有逻辑性和行为能力,这是主动的。说通俗一点,它是有思想的。

脚本语言:它介于标记语言和编程语言之间,脚本语言不需要编译,可以直接用,由解释器来负责解释。2:JS历史

1:Netsape发明了javascript。

1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。这是历史上第一个比较成熟的网络浏览器,轰动一时。但是这个版本的浏览器只能用来浏览,不具备与访问者互动的能力。比如,网页上有一栏用户名需要填写,浏览器无法判断用户是否真的填写了,只有让服务器去判断。如果没有填写就返回错误,要求用户重新填写。太浪费时间和服务器资源了。更何况在那个用调制解调器上网的年代。

2:JS之父Brendan Eich(布兰登· 艾奇)

网景公司急需一种网页脚本语言,使得浏览器可以与网页互动。当时工程师Brendan Eich就是负责开发这种新语言。

3:为什么叫JavaScript

1995年Sun公司将Oak语言改名为Java,正式向市场推出。Sun公司大肆宣传,允诺这种语言可以”一次编译,到处运行”。很有可能成为未来市场的主宰。

网景公司动了心,决定与Sun公司结成联盟。它不仅允许JAVA程序以applet(小程序)的形式,直接在浏览器中运行。甚至还考虑直接将Java作为脚本语言嵌入网页,只是因为这样使HTML网页过于复杂,后来才不得不放弃。

总之,因为Sun公司完全介入网页脚本语言的决策。Js后来就是网景公司和Sun两家公司一起携手推向市场的,这种语言被命名为java+script不是偶然的。

4:JS和JAVA语言没有任何关系

JS之父并不喜欢JAVA,为了应付公司安排的任务,他只用了十天就把JS设计出来了。因为设计时间太短,语言的一些细节考虑的并不太严谨。

设计思路:

1:借鉴C语言的基本语法。

2:借鉴JAVA语言的数据类型和内存管理。

3:借鉴Scheme语言,将函数提升到”第一等公民的地位”。

4:借鉴Self语言,使用基于原型(prototype)的继承机制。

所以,JS实际是两种语言风格的混合产物:(简化的)函数式编程+(简化的)面向对象编程。

5:JS标准化---ECMAScript

因为javascript1.0的成功,netscape在navigator 3.0中发布1.1版。此时微软决定进军浏览器,在IE3.0种搭载了javascript的克隆版,叫JScript。在微软进来以后,有三种不同的javascript版本存在,即navigator3.0的javascript、IE的JScript、以及Cenvi中的ScriptEase。

由于javascript没有一个标准来统一其语法和特性,3种不同版本的恰恰突出了这个问题,这个语言的标准化显然势在必行。

1997年,javascript1.1作为一个草案提交给欧洲计算机制造协会(ECMA)。最后定义为ECMAScript的全新脚本语言。从此,浏览器开始努力将ECMAScript作为Javascript的基础。

3:JS组成

js组成:ECMAScript + BOM + DOM

尽管ECMAScript是一个重要标准,但它并不是JS的唯一部分。一个完整的JS实现是由3个部分组成的。ECMAScript(核心) + 浏览器对象模型(BOM)+ 文档对象模型(DOM)

ECMAScript描述了该语言的语法和基本对象。

BOM描述了与浏览器进行交互的方法和接口。

DOM描述了处理网页内容的方法和接口。

4:script标签

) 二,javascript语言的基本元素 a)标识符:任意顺序的大小写字母,数字,下划线和$符号组成, 不能以数字开头,不能是javascript的保留关键字。 b)变量: i.var 标识符[,标识符][=值];如果未赋值则默认值为undefined。 ii.作用域为:全局和局部 1.全局变量定义在函数外 2.局部变量定义在函数内 c)注释:// /*…*/ d)数据类型 i.数字型 ii.字符串型 1.‘abc’ 2.“abc” 3.‘abc a=”A”’ 4.“abc a=’A’” iii.布尔型true 和fasle iv.转义字符\n 回车换行\t制表符 v.未定义类型undefined vi.空值null 三,运算符和表达式 a)算术运算符: + - * / % ++ -- b)比较运算符:< > >= <= == !=

正则表达式不包含属性

iOS中使用正则表达式NSRegularExpression 来验证textfiled输入的内容 一个正则表达式(regexp)是由元字符和文字数字的文本字符,或者“文字的”(abc,123,及其他)混合组合而成的文本模式。该类型用于匹配文本字符——并附有匹配的结果,是成功还是失败。Regexps 主要用于规则文本匹配以及搜索和替换。 何谓正则表达式 正则表达式(regular expression),在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。正则表达式这个概念最初是由Unix中的工具软件(例如sed和g rep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、r egexen。 正则表达式组成 正则表达式有两种类型的字符组成 第一种:用来匹配的字符,或者叫常规字符 第二种:控制字符或具有特殊含义的元字符 iphone 4.0以后就开始支持正则表达式的使用了,在ios4.0中正则表达式的使用是使用NSRegularExp ression类来调用。 1. 下面一个简单的使用正则表达式的一个例子:NSRegularExpression 类

2.使用正则表达式来判断

1.判断邮箱格式是否正确的代码:NSPredicatel 类 //利用正则表达式验证 NSPredicatel 类:主要用来指定过滤器的条件, 该对象可以准确的描述所需条件,对每个对象通过谓词进行筛选,判断是否与条件相匹配。谓词是指在计算机中表示计算真假值的函数。原理和用法都类似于SQL 查询中的where ,作用相当于数据库的过滤取。主要用于从集合中分拣出符合条件的对象,也可以用于字符串的正则匹配

ACL基础

在Domino中,数据库的存取控制列表是Domino安全性的重要组成部分,也是决定每个用户能否访问数据库的主要设置。每个数据库都有自己的存取控制列表(Access Control List, 以下简称ACL)。打开一个数据库,选择菜单“文件”-“数据库”-“存取控制”,就可以看到该数据库的ACL。 ACL分为四个页面:基本、角色、日志和高级。以下分别说明这四个页面中的内容。并说明了ACL 中可以接受的名称格式。 ACL的“基本”页面 ACL的核心功能都包含在“基本”页面中。在“个人/服务器/工作组”中选择“全部显示”,所有存取级别的用户都会被列出。也可以选择仅查看“管理者”、“设计者”等某个存取级别的用户。当选中某个用户名时,对话框中会显示他的用户类型和存取级别,以及与此存取级别相应的一些扩展和限制选项。用户类型和存取级别指定了用户对此数据库的最大权限。数据库的管理员可以增加、删除或修改用户的权限。 点击看大图 返回 七个存取级别 ACL中共有七个存取级别:管理者、设计者、编辑者、作者、读者、存放者和不能存取者。了解这些级别的含义是了解ACL工作机制的基础。下图显示了每个存取级别的缺省权限,从不能存取

者开始,每个级别都比下一级拥有更多的权限,直到拥有所有权限的管理者。(每个级别的权限 都包含其下所有级别的权限)。 不能存取者 此级别表示用户没有任何权限,不能存取数据库。管理员可以开放给不能存取者的权限只有“读取公用文档”和“写公用文档”。关于公用文档的概念,见下面的“读写公用文档”部分。 存放者和读者 存放者只能向数据库中放入文档,但不能读取这些文档。读者则只能读文档,但不能向数据库中放入文档。二者都只具有单一的功能。(读者拥有一个额外的权限,可以执行代理)。 作者 作者可以创建、修改、删除文档。但是,要想使拥有作者权限的用户能够修改、删除文档,还需要作进一步的设置:要创建文档,需要选中“创建文档”选项。要修改文档,需要设置文档中的作者域。要删除文档,需要选中“删除文档”选项,同时需要设置文档中的作者域。 在设计数据库时,有一类特殊的域称为作者域,这种域的类型是“作者”。在文档中,作者域可以包含用户、群组或角色的名称。如果一个用户在ACL中具有作者权限,同时,他的名字又包含在文档的作者域中,那么,这个用户就是该文档的所有者之一,可以修改此文档。如果用户未被包含在作者域中,则即使此文档是由他创建的,也无权修改它。 作者域只对存取级别为作者的用户起作用。其他的存取级别不受作者域的限制。例如,存取级别为读者的用户,即使名字包含在作者域中,也无权修改文档;存取级别为编辑者以上的用户,不需要包含在作者域中也可以修改数据库中所有文档。 因此,在设计数据库时,如果需要仅允许用户修改库中的一部分文档,则需要加入作者域,以细化用户的权限。 编辑者 编辑者具有更高的存取权限,可以修改数据库中的所有文档。通过各个子选项的设置,还可以赋予编辑者以下权限:删除文档,创建个人代理,创建个人文件夹/视图,创建共享文件夹/视图,创建LotusScript/Java代理。

正则表达式

正则表达式 正则表达式(英文:Regular Expression)在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。 基本概念 一个正则表达式通常被称为一个模式(pattern),为用来描述或者匹配一系列符合某个句法规则的字符串。例如:Handel、H?ndel 和Haendel 这三个字符串,都可以由“H(a|?|ae)ndel”这个模式来描述。大部分正则表达式的形式都有如下的结构: 选择 | 竖直分隔符代表选择。例如“gray|grey”可以匹配grey或gray。 数量限定 某个字符后的数量限定符用来限定前面这个字符允许出现的个数。最常见的数量限定符包括“+”、“?”和“*”(不加数量限定则代表出现一次且仅出现一次): + 加号代表前面的字符必须至少出现一次。(1次、或多次)。例如,“goo+gle”可以匹配google、gooogle、goooogle等; ? 问号代表前面的字符最多只可以出现一次。(0次、或1次)。例如,“colou?r”可以匹配colour 或者color; * 星号代表前面的字符可以不出现,也可以出现一次或者多次。(0次、或1次、或多次)。例如,“0*42”可以匹配42、042、0042、00042等。 匹配 圆括号可以用来定义操作符的范围和优先度。例如,“gr(a|e)y”等价于“gray|grey”,“(grand)?father”匹配father和grandfather。 上述这些构造子都可以自由组合,因此,“H(ae?|?)ndel”和“H(a|ae|?)ndel”是相同的。 精确的语法可能因不同的工具或程序而异。 表达式全集 正则表达式有多种不同的风格。下表是在PCRE中元字符及其在正则表达式上下文中的行为

相关文档
最新文档