知识-javasctipt简介及语言基础_第1页
知识-javasctipt简介及语言基础_第2页
知识-javasctipt简介及语言基础_第3页
知识-javasctipt简介及语言基础_第4页
知识-javasctipt简介及语言基础_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Javascript简介及语言基础1、javascript简介2、javascript语言基础1、javascript是什么2、javascript的特点3、javascript的用途Javascript语言简介JavaScript是由Netscape公司开发并随着Navigator导航者一起发布的、介于Java与html之间、基于对象和事件驱动的编程语言。JavaScript的出现,可以使得信息和用户之间不仅只是一种显示和浏览的关系,而是实现了一种实时的、动态的、可交式的表达能力。JavaScript脚本正是满足这种需求而产生的语言。它深受广泛用户的喜爱和欢迎。它是众多脚本语言中较为优秀的一种,它与www的结合有效地实现了网络计算和网络计算机的蓝图。Javascript是一门解释型的语言,我们一般将解释型的语言称为脚本语言Javascript是什么JavaScript被设计用来向HTML

页面添加交互行为。JavaScript是一种脚本语言(脚本语言是一种轻量级的编程语言)。JavaScript由数行可执行计算机代码组成。JavaScript通常被直接嵌入HTML

页面。JavaScript是一种解释性语言(就是说,代码执行不进行预编译)。所有的人无需购买许可证均可使用JavaScript。什么是JavaScript?JavaScript能做什么?JavaScript为HTML设计师提供了一种编程工具HTML创作者往往都不是程序员,但是JavaScript却是一种只拥有极其简单的语法的脚本语言!几乎每个人都有能力将短小的代码片断放入他们的HTML页面当中。JavaScript可以将动态的文本放入HTML页面JavaScript可以对事件作出响应JavaScript可以读写HTML元素JavaScript可被用来验证数据JavaScript可被用来检测访问者的浏览器JavaScript可被用来创建cookiesJavascript语言的特点1、基于对象JavaScript是一种基于对象的语言,同时也可以看做一种面向对象的语言。这意味着它能运用自己已经创建的对象。因此许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。2、简单性

JavaScript的简单性主要表现在:首先它是一种基于Java基本语句和控制流之上的简单而紧凑的设计,从而对于学习Java是一种非常好的过渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型。3、安全性

JavaScript是一种安全性语言,它不允许访问本地硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。4、动态性JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的响应,是采用以事件驱动的方式进行的。5、跨平台性

JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。变量所谓变量,和它的字面意思一样,表示的是一个可以变化的数据。其意义和我们以前在学校学的变量并没有多大的区别。在数学中,变量是一个标识符,它本身是一个抽象的东西,是数据的载体。在程序中,我们也可以这样理解,但是有一点与现实中的变量不同。程序中的变量更多的是某一段内存地址的别名。我们可以通过这个别名来操作这段内存地址,包括这段内存地址保存什么类型的数据,数据的具体内容是什么。在所有的编程语言中,都会存在变量,而且使用和定义的方式也大致相同。变量主要包括:1、变量的声明2、变量的作用域变量的声明在javascript中我们一般通过关键字var来声明一个变量。下面我们主要来了解一下变量的命名规则:1、必须以字母、下划线、美元符($)开头2、组成变量其他部分的必须是字母、下划线、美元符($)及数字(汉字)3、变量中不能含有类似于#,@,%,^,*等非法字符4、变量名不能是已有的关键字注意:javascript是区分大小写的,也就是说变量Flg和变量flg是两个不同的变量。在编程的过程中,我们需要注意关键字的大小写,以免出现不必要的问题。有效地变量声明:_hero_ 、$Gamegame 、$_123Gamegame无效的变量声明:%variableidentifier、10000age、Game&gameWhile //可以作为一个变量名使用,但不推荐这样做,容易造成不必要的混淆Javascript的关键字<一>breakelsenewvarcasefinallyreturnvoidcatchforswitchwhilecontinuefunctionthiswithdefaultifthrowdodeleteintryinstanceoftypeofJavascript本身的一些关键字:Javascript的关键字<二>alertevallocationopenarrayfocusmathouterHeightblurnameparentbooleanhistorynavigatorparseFloatdateimagenumberregExpdocumentisNaNobjectstatusescapelengthonLoadstring由于JavaScript一般都是在浏览器中解释运行的在多数浏览器中,都实现了一些JavaScript专用字,它们也被视为相应的保留字,它们都是基于浏览器的,所以根据不同的浏览器,它们有各自不同的保留字,也有许多相同的保留字,下面列出的是常用的少量浏览器保留字。

浏览器中常用的保留字:变量的作用域每个变量都有自己的作用域,在这个作用域内,我们能对这个变量进行定义,初始化,和使用。根据作用域的大小,我们把变量分为全局变量和局部变量。对于全局变量来说,它的作用范围是整个程序,只要是在当前程序中,在程序的任何位置都能够去使用这个变量。它的存在时间从程序中创建开始一直到程序结束。对于局部变量来说,它的作用范围是某个程序块(可以是函数),在这个程序块中才能正确访问这个变量,它的存在时间是在这个程序块中被创建开始一直到这个程序块执行结束。在程序块的外部,不能够访问到。如果局部变量和全局变量的名字相同,那么在默认情况下在局部变量的程序块中引用的是这个局部的变量,局部变量的值的改变对全局变量的值没有影响。<scripttype="text/javascript">functiontestValue(value){ StrValue="未定义的变量"; //没有定义的变量第一次赋值时,将被默认定义成全局变量

varfunction_inner_text="这是一个局部变量";//使用var关键字定义成局部变量 document.write("<br>函数内部变量Value1在For循环中的值是:"); for(varvalue1=0;value1<value;value1++)//与全局变量同名的局部变量value1 { StrValue+=value1; document.write(value1+"");//在不同的作用域内,value1的值不同 }}/*函数体结束*/演示变量作用域的一个简单示例:varvalue1=10;for(varvalue1=1;value1<4;value1++)//在同一个作用域内重复定义变量名,将被覆盖,容易出错,不推荐使用{ document.write("<br>在For循环内,Value1的值是:"+value1); testValue(value1);}document.write("<br>在For循环外,Value1的值是:"+value1);document.write("<br>未定义的StrValue的最终的值为:"+StrValue);document.write("<br>函数体内局部变量function_inner_text的值为:"+function_inner_text);/script>注意:在函数体内未使用关键字var定义的变量会默认成为window对象的一个属性。如果尝试使用未被定义的变量,程序会中止运行。全局变量必须使用关键字var定义,否则的话会提示变量未定义的错误。弱变量类型数据有很多种类型,变量的作用就是用来保存数据,在一些比较严谨的编程语言,比如C/C++/java中,在定义一个变量的时候我们还必须对这个变量进行声明。我们需要告诉计算机这个变量是用来保存什么类型的数据的,这样计算机才能够正确的为我们分配所需要的内存,从而不会造成内存不足或者内存浪费。然而,在前面的学习中,我们能够发现,我们在定义变量的时候,并没有为这个变量加上想对应的声明。因为在javascript中,使用的是弱变量类型。所谓弱变量类型就是在程序执行的过程中它根据你所赋给它的值而自动去适应这个值的数据类型。这样的话,我们不需要再在数据的类型转换上花时间,虽然比较方便,但是同时也为编程带来了一些其他的麻烦。弱变量类型的具体示例<scripttype="text/javascript">varStr="\n变量弱类型测试:\n\n";Str+="'100'*10="+('100'*10)+"\n";Str+="'100'-10="+('100'-10)+"\n";Str+="'100'/10="+('100'/10)+"\n";Str+="'100'+10="+('100'+10)+"\n";Str+="true+10="+(true+10)+"\n";Str+="true+'10'="+(true+'10')+"\n";alert(Str);</script>显示结果:数据类型1、数字型2、字符串型3、布尔型4、

Undefined和Null型5、对象数字型1、整型即不带小数点的数2、浮点数即带小数部分的数。也可以表示为一个指数形式。浮点数支持很大的数目,不过某些函数的处理范围在-2e31到2e31之间,所以我们应该尽量将数字限制在这个范围内。JavaScript为我们提供了2个函数用来将字符串的数字部分转化为整数或浮点数。parseFloat()能够将字符串中的浮点数部分转换成浮点数。parseInt()能够将字符串中的整数部分转换成整数。注意:

使用parseInt()的时候,如果需要转换的字符串中的数字部分是浮点数,那么在转换之后,小数点后面的部分会被忽略掉。字符串型在javascript中,在单引号(‘’)或者双引号之间的部分就是字符串。varname=”圣骑士”;varname1=’血魔法师’;varstr=’’;//这也是一个字符串,表示空字符。特殊字符:JavaScript提供了一些特殊字符,每个字符都以反斜杠开始。反斜杠是一个转义字符,表示JavaScript解释器下面的字符为特殊字符。\b退格\f换页

\n换行

\r回车

\t横向跳格(Ctrl-i)\’

单引号

\"双引号

\\反斜杠布尔类型在JavaScript中,还有一种数据类型表示逻辑真和假,即true和false;我们称这种数据类型为布尔类型(Boolean)。在程序开发过程中,我们常使用Boolean类型的值来控制程序的流程。我们可以想象一下现实中的电流走向以及电灯的开和关,对应到程序中,电流的走向也就是程序的走向,电灯的开关就是一个个boolean类型的值,在现实中我们可以通过控制开关来控制电流的流向,同样的在程序中我们也可以通过boolean来控制程序的走向。Undefined和Null型初学者对于Undefined和Null两个的概念通常会很难把握。Undefined我们可以理解成是一种情况而不是一种值。即一个变量是不是存在或者是被定义了却没有被赋初始值这两种情况。Null表示空,即什么都没有。学习更深的JavaScript时,我们会知道JavaScript变量其实都是一些引用,而Null则不引用向任何东西。示例:varname;alert(name);varname1=””;varname2=null;alert(“name1=”+name1+”\nname2=”+name2);

对象对象是一组复杂的数据的结合体,包含一些成员属性和成员方法。成员属性可以保存特定作用的值,成员方法可以完成某个功能。我们可以通过对象的名字加上“.”来调用对象的成员方法和属性,JavaScript是基于对象的语言。所谓基于对象,就是说,在javascript中它会将所有的东西当做一个对象来使用。我们甚至可以这么说,在javascript中”一切都是对象”。

运算符1、基本数学运算符、2、赋值运算符3、位运算符4、位移运算符5、高级赋值语句6、自加和自减7、比较运算符8、逻辑运算符9、逗号运算符10、空运算符11、三目运算符(放到程序控制语句中去讲)12、对象运算符13、typedof运算符基本数学运算符基本数学运算符包括:+(加)、-(减)、*(乘)、/(除)、%(取余)加减乘除和我们从小就学过的数学中的加减乘除并没有什么区别。取余就是获得除数除以被除数的余数。比如说:7%3的余数是1所以这个表达式返回的值就是1和我们所学过的数学一样,我们也可以使用括号()进行一些更加复杂的运算。赋值运算符赋值运算符是将运算的结果保存到指定的变量中去,我们使用“=”等号表示;例如:varlevel=10;有时候,我们需要将一个表达式的值赋值给一个变量。例如:hp=hp*100这个表达式还可以简写成hp*=100;其它运算也同样适合,JavaScript脚本语言的赋值运算符包含“=”、“+=”、“-=”、“*=”、“/=”、“%=”、“&=”、“^=”等位运算符和位移运算符位运算符:”&”、”|”、”^”和”~”位移运算符:”>>”,”<<”,”<<<”这两种运算符都是针对操作数的二进制数来进行运算的,运算完成之后,再转换成十进制数返回结果。

位运算符举例说明&10010001&1000100010000000按位与,若两数据对应位都是1,则该位为1,否则为0|10010001|1000100010011001按位或,若两数据对应位都是0,则该位为0,否则为1^10010001&1000100000011001按位异或,若两数据对应位相反,则该位为1,否则为0~~1001000101101110按位非,若数据对应位为0,则该位为1,否则为0运算符举例简要说明>>8>>2算术右移,将左侧数据的二进制值向左移动由右侧数值表示的位数,右边空位补0<<8<<2算术左移,将左侧数据的二进制值向右移动由右侧数值表示的位数,忽略被移出的位>>>8>>>2逻辑右移,将左边数据表示的二进制值向右移动由右边数值表示的位数,忽略被移出注意:”&”、”|”、”^”都是针对两个操作数的运算符。”~”,”>>”,”<<”,”<<<”是针对一个操作数的操作符。

自加与自减运算符所谓自加或者自减就是使变量本身的值增加或者减少1。自加表现为变量++或者++变量,自减表现为变量--或者--变量.比如说,一个变量num,num++或者++num等同于num=num+1或者num+=1;对于自减法来说,其用法是一样的。注意:上面所说的等同是针对变量最终的值来说的,不同的写法在程序执行的时候会有不同的运算方式,速度和运算中所占用的内存也不尽相同。就num++和++num来说,它们的表达式的值并不一致。num++相当于num;//表达式的值num=num+1;++num相当于num=num+1;num;//表达式的值。关于变量++与++变量的示例<script> vara=0; document.write("a++="+(a++)); document.write("<br>a="+a); document.write("<br>++a="+(++a));</script>变量--和--变量具体使用方式与变量++和++变量是一样的。比较运算符运算符举例作用==num==10相等,若两数据相等,则返回布尔值true,否则返回false!=num!=10不相等,若两数据不相等,则返回布尔值true,否则返回false>num>10大于,若左边数据大于右边数据,则返回布尔值true,否则返回false<num<10小于,若左边数据小于右边数据,则返回布尔值true,否则返回false>=num>=10大于或等于,若左边数据大于或等于右边数据,则返回布尔值true,否则返回false补充:在javascript中,还有一个比较运算符”===”,”==”比较的是数据的值,只要值相等就会返回真,而”===“必须两个操作数完全相同才会返回真。比如说:undefined==null会返回真,undefined===null会返回假。逻辑运算符逻辑运算符用于两个布尔型数据之间进行计算,得到一个布尔型的结果。运算符举例作用&&level<10&&level>5true&&false=false;逻辑与,如果符号两边的操作数为真,则返回true,否则返回false||level<10||level>5true||false=true;逻辑或,如果符号两边的操作数为假,则返回false,否则返回true!!level<5!true=false;逻辑非,如果符号右边的操作数为真,则返回false,否则返回true运算符的优先级运算符优先级运算符简要说明1(),[]2!,~,++,--,typeof3*,/,%乘,除,取余4+,-5<<,>>>,>>按位移6<,>,<=,>=比较运算符7==,!=8&按位与9^按位异或10|按位或11&&逻辑与12||逻辑或13?条件表达式14=,+=,-=,*=,/=,%=,<<=,>=,>>=,&=,^=,|=赋值运算符15,参数分隔从高到低程序控制语句程序走向分为三种:顺序,选择,循环。如果程序在运行的时候没有碰到流程控制的关键字时,程序的执行就是自上而下顺序的执行的。在碰到流程控制的关键字时会通过具体的逻辑判断在决定程序的走向。选择的关键字:if…else,switch;循环的关键字:while,do…while,for;中止语句:

break,continue;其他:with,for…in.if…elseif的语法:if(逻辑判断){程序语句块}else{程序语句块}如果逻辑判断为真,那么程序就会执行if后面花括号里面的程序语句。如果逻辑判断为假,那么程序就会执行else后面花括号里面的程序语句。注意:一个if可以没有else,但是一个else必须要有一个if与之对应。else会和离它最近的if组成一组if…else语句。if…else能够支持嵌套。如果if或者else后面的花括号里面只有一条语句的话,花括号是可以省略不写的,如果对这个不是很熟悉的话,最好还是使用花括号包围起来,以免在程序比较复杂的时候出现一些不必要的错误。

三目运算 xy?x:yvarage=23;varok;if(age<18){ ok=false;}else{ ok=true;}ok=age<18?false:trueswitch语法:switch(表达式){ case值1:程序语句1; break; case值2:程序语句2; break; …… default:程序语句3; break;}在上面的代码switch(表达式)中,表达式也可以是一个变量,必须有一个数值型或字符串型的值。如果表达式的值和下面case值相等,那么就执行case后面相对应的语句,直到遇见break;才跳出switch语句,如果没有break语句,那么将会直接执行下一条case后的代码,直到遇见break或switch结束为止;如果在case中没有找到相等的值,那么就运行default中的代码。如果没有default,那么结束switch语句while和do…whilewhile语法:while(逻辑表达式<循环条件>){

程序语句;

迭代语句;}如果逻辑表达式为真,那么就执行一次花括号里面的语句,直到表达式为假。do…while语法do{

程序语句;

迭代语句;}while(逻辑表达式<循环条件>)首先执行一次do后面花括号里面的程序语句,然后判断while里面的逻辑表达式是否为真,如果为真,那么就再一次执行do后面花括号里面的语句,如果为假则退出循环。while和do…while差不多,前者是先判断后执行,后者是先执行和判断。for语法:for(初始化;循环条件;迭代语句){

程序语句;}变量一般是定义一个临时变量,在循环过程中用于控制循环体和记录循环状态。如:vari=0;循环条件,只有当循环条件成立的时候才执行循环体内的代码。通常是将循环变量与一个数的大小相比较,如:i<100;迭代语句是为了保证循环顺利进行,而对一些变量进行改变,按计划使循环条件不成立,从而结束循环。一般是对循环变量进行一些迭代计算。如:i++;for后面的3个状态语句使用“;”(分号)隔开,只要不违反for循环的语法,3个状态语句可以灵活使用。如果3个语句都为空,那么就表示这个循环是一个无限循环。break和continuebreak和continue一般都是用于对循环的控制,break是终止当前所在循环体,继续执行循环体后面的代码。continue是终止当前循环的当次循环,继续执行下一次循环。break在switch中表示中止当前的语句,进入下一个程序语句。标签标记lable:break和continue都支持标签标记,常用于循环。作用是跳转到指定标记的循环的位置。语法如下:标记名lable:外层循环语句{

内层循环{ break标记名; continue标记名; }}with语句在编写JavaScript脚本过程中,经常需操作同一对象的多个属性或方法,用我们通常的方法虽然可以达到目的,但是代码过于臃肿,输入大量重复代码。JavaScript脚本语言提供with操作语句来简化对象属性和方法的引用过程,提高对象应用的速度。但是也应当注意不要引起混淆,覆盖其它属性或方法。语法如下:with(对象){

不使用”.”操作符,直接使用对象的属性方法}示例如下:document.write(“闪避护符”);document.write(“吸血面罩”);with(document){ write(“闪避护符”); write(“吸血面罩”);}for…in语句使用for…in循环语句可以对指定对象的属性进行遍历,语法结构如下:for(变量名in对象名){

代码;}示例如下:<script> varindex=0; for(nameinwindow) { index++; document.write("      "+name); if(index%5==0)document.wri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论