您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > JavaScript基础
JavaScript基础什么是JavaScript基础javascript诞生于1995年,当时它的主要目的就是处理以前由服务器语言负责的一些输入验证操作,在javascript问世之前,必须把表单里的数据发送到服务器才能确定用户是否没有填写某个必填域或者是输入信息是否正确。学习目标-了解javascript组成部分-认识javascript解析机制-如何使用javascript第一讲:初识JavaScriptJavaScript的这三个组成部分在当前五大主流浏览器中都得到了不同程度的支持(IE、FireFox、Chrome、Safari、Opera),基本所有的浏览器都大体上支持ECMAScript第三版,但是对于DOM和BOM的支持相比较而言则差很多。javascript是一种专与网页交互设计的脚本语言,由三部分组成:-ECMAScript提供核心语言功能-文档对象模型(DOM)提供访问和操作网页内容的方法和接口-浏览器对象模型(BOM)提供与浏览器交互的方法和接口·JavaScript是一种可以与HTML标记语言混合使用的脚本语言,其编写的程序可以直接在浏览器中解释执行。·JavaScript是一种解释型语言(预编译,执行)·JavaScrip的国际标准是ECMAScript.-语法、类型、语句、关键字、保留字、操作符、对象·如何使用JavaScript?-在HTML文档中插入脚本语言可以使用script标记-script标记可以置于页面任意位置,一般定义在head标签中·script标签属性!-type、src、charset学习目标-认识变量(声明、规则、全局变量、局部变量)-数据类型(基本类型、引用类型)-运算符、表达式、控制语句第二讲:JavaScript基础第二讲:2.1变量·变量-JavaScript是一种弱类型的脚本语言-varc=3:即变量的声明(变量使用之前必须加var声明,编程规范)-变量的命名规则!·1变量命名必须以字母或是下标符号”_”或者“$”为开头。·2变量名长度不能超过255个字符·3变量名中不允许使用空格·4不能使用脚本语言中保留的关键字及保留符号作为变量名·5变量名区分大小写(javascript是区分大小写的语言)全局变量和局部变量-全局变量·在函数体外部声明的变量·函数内部,没有加var关键字声明的变量-局部变量·方法内部,使用var声明的变量第二讲:2.2数据类型ECMAScript中,数据类型也分为基本类型和引用类型两大类.基本数据类型:Number、Boolean、String、Undefined、NullNumber:整数和小数(最高精度17位小数)、NaN、Infinity,-Infinity注意:1.除10进制外,还可通过8进制和16进制的字面值来表示,如070表示56、0xA表示10.Boolean:true和false.Undefined:表示变量声明但未赋值.Null:表示一个空的对象引用(也就是赋值为null)引用类型Object类型(比如对象、数组、RegExp、Date...)Typeof操作符基本类型和引用类型的值基本类型是按照值访问的,因为可以操作保存在变量中的实际值引用类型则是按引用去访问的第二讲:2.3运算符运算符与表达式:加减乘除、递增(++)、递减(--)、求余(%)变量的自动转换–===等同符:不会发生类型的自动转化!–==等值符:会发生类型自动转化、自动匹配!在程序中还经常使用到扩展赋值运算符,如:+=,-=,*=,/=,%=等说明符号加法+减法-乘法*除法/增量++减量--取余%–在复杂的表达式中往往会综合运用各种不同类型的运算符,而表达式的运算顺序有一定的规则:首先应按照运算符的优先次序从高到低的顺序,其次,优先级相同的运算符按照事先约定的结合方向(从左向右或从右向左)进行。–条件表达式的基本的语法是:–(条件表达式1)?表达式2:表达式3说明符号相等==大于或等于=大于不等!=小于或等于=小于逻辑“与”&&逻辑“或”||逻辑“非”!第二讲:2.4控制语句基本上ECMAScript的控制语句和C一致if语句if(条件)…elseif(条件)...elseswitch语句:switch(expression){caseconst1:语句块1...default:...}for(初始化部分;条件部分;更新部分){语句块…}while(条件){语句块…}do{语句块…}while(条件)break语句是结束当前的循环,并把程序的控制权交给循环的下一条语句这里是结束循环,循环到此为止continue语句是结束当前的某一次循环,但是并没有跳出整个的循环。第二讲:2.4控制语句基本上ECMAScript的控制语句和C一致if语句if(条件)…elseif(条件)...elseswitch语句:switch(expression){caseconst1:语句块1...default:...}for(初始化部分;条件部分;更新部分){语句块…}while(条件){语句块…}do{语句块…}while(条件)break语句是结束当前的循环,并把程序的控制权交给循环的下一条语句这里是结束循环,循环到此为止continue语句是结束当前的某一次循环,但是并没有跳出整个的循环。学习目标-掌握数组的概念、特性、常用方法-掌握Object,学会使用对象-了解其他引用类型对象第三讲:数组第三讲:3.1数组在ECMAScript中数组是非常常用的引用类型了。ECMAScript所定义的数组和其他语言中的数组有着很大的区别。那么首先要说的就是数组也是一种对象。特点:“数组”即一组数据的集合。js数组更加类似java的容器。长度可变,元素类型也可以不同!数组长度随时可变!随时可以修改!(length属性)常用方法:push、popshift、unshiftsplice、sliceconcat、join、sort、reverse、filter等第三讲:3.2Object什么是对象,其实就是一种类型,即引用类型,而对象的值就是引用类型的实例。在ECMAScript中引用类型是一种数据结构,用于将数据和功能组织在一起。我们目前为止大多数引用类型都是Object类型的实例,Object也是ECMAScript中使用最多的一种类型(就像java.lang.Object一样,Object类型是所有它的实例的基础)。Object类型的创建方式创建Object类型有两种,一种是使用new运算符,一种是字面量表示1.使用new运算符创建Object2.使用字面量的方式创建ObjectvarStudent=newObject();varStudent={Student.name='张三';name:'张三',age:'31'};在实际开发过程中,我们更喜欢字面量的声明方式。因为它清晰,语法代码少,而且给人一种封装的感觉,字面量也是向函数传递大量可选参数的首选方式。对于Object类型应用forin枚举循环学习目标-了解函数的基本概念-函数的定义方式-函数的参数-this第四讲:函数第四讲:4.1初识函数Function类型,即函数的类型。一个典型的JavaScript函数定义如下:function函数名称(参数表){函数执行部分:}注意:参数列表直接写形参名即可,不用写var!return语句:return返回函数的返回值并结束函数运行函数也可以看做数据来进行传递第四讲:4.2定义函数三种定义函数的方式:function语句形式函数直接量形式通过Function构造函数形式定义函数比较三种方式定义的区别function语句Function构造函数函数直接量兼容完全js1.1以上js1.2以上版本形式句子表达式表达式名称有名匿名匿名性质静态动态静态解析时机优先解析顺序解析顺序解析作用域具有函数的作用域顶级函数(顶级作用域)具有函数作用域第四讲:4.3Arguments对象ECMAScript函数不介意传递进来多少参数,也不会因为参数不统一而错误,实际上函数体内可以通过arguments对象来接受传递进来的参数。-arguments对象的length属性可以得到参数的数量PS:我们可以利用length这个属性来智能判断有多少参数,然后把参数进行合理的应用,比如,要实现一个加运算,将所有传进来的数字累加,而数字个数又不确定第四讲:4.3Arguments对象ECMAScript函数不介意传递进来多少参数,也不会因为参数不统一而错误,实际上函数体内可以通过arguments对象来接受传递进来的参数。-arguments对象的length属性可以得到参数的数量PS:我们可以利用length这个属性来智能判断有多少参数,然后把参数进行合理的应用,比如,要实现一个加运算,将所有传进来的数字累加,而数字个数又不确定学习目标-什么是正则表达式-创建正则表达式-获取控制-常用的正则第五讲:正则表达式第五讲:5.1正则表达式·什么是正则表达式正则表达式(regularexpression)是一个描述字符模式的对象,ECMAScript的RegExp类表示正则表达式,而String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数。正则表达式主要用来验证客户端的输入数据,用户填完表单单击按钮之后,表单就会被发送到服务器,在服务器端通常会用PHP,ASP.NET等服务器脚本对其进行进一步处理,可以节约大量的服务器端的系统资源,并且提供更好的用户体验。·创建正则表达式创建正则表达式和创建字符串类似,创建正则表达式提供了两种方法,一种事采用new运算符,另一种是采用字面量的方式。varReg=newRegExp('hello');//第一个参数字符串varReg=newRegExp('hello','gi');//第二个参数可选模式修饰符varReg=/hello/;//直接使用两个反斜杠varReg=/hello/gi;//在第二个斜杠后面加上模式修饰符参数含义i忽略大小写g全局匹配m多行匹配第五讲:5.2RegExp对象的方法·RegExp对象的方法RegExp对象包含两个方法,test()和exec(),功能基本相似,用于测试字符串匹配,test()方法在字符串中查找是否存在指定的正则表达式并返回布尔值,如果存在则返回true,不存在则返回false.exec()方法执行成功,则返回包含该查找字符串的相关信息数组,如果执行失败,则返回Null.方法功能test在字符串中测试模式匹配,返回true或falseexec在字符串中执行匹配搜索,返回结果数组第五讲:5.5正则表达式元字符元字符/元符号匹配情况x*匹配0个或任意多个x?匹配0个或一个x+匹配至少一个(xyz)+匹配至少一个xyzx{min,max}匹配至少min至多max[]备选匹配符^首部字符匹配$尾部字符匹配\s空白符\字符转换成原有的意思第五讲:5.5正则表达式元字符元字符/元符号匹配情况.匹配除换行符已外的所有字符[a-zA-Z]匹配括号中的字符集中的任意字[^a-z0-9]匹配任意不在括号中的字符集中的字符\d匹配数字\D匹配非数字\w匹配字母及数字\W匹配非字母及数字\s匹配一个空白符\S匹配一个非空白符[\u4e00-\u9fa5]匹配汉字简单的电子邮箱验证:varmail=/^([\w\.\-]+)@([\w\.\-]+)\.([\w]{2,4})$/;第五讲:5.4正则表达式的静态属性属性短名含义Input$_当前被匹配的字符串LastMatch$&最后一个匹配字符串LastPattern$+最后一对圆括号内的匹配字符串LeftContext$`最后一次匹配前的字符串multiline$*用于指定是否所有的表达式都用于多行的布尔值rightContext&'在上次匹配之后的子串第五讲:5.3字符串的正则表达式方法·使用
本文标题:JavaScript基础
链接地址:https://www.777doc.com/doc-3873623 .html