一、 JavaScript的介绍1.1 javascript是什么技术? JavaScript是一门基于对象和事件驱动的脚本语言。它的作用就是可以跟用户进行交互。 1.2. JavaScript与java的区别1. Java是Sun公司的产品,而javaScript是网景(Netscape)公司的产品; 2. JavaScript是解释型语言,而Java是编译解释型语言; 3. JavaScript是一种弱类型的语言,而Java是一种强类型的语言; 1.2 JavaScript的特点n 跨平台:只要有浏览器就可以运行; n 安全性:它不能够访问计算机的本地文件系统; 1.3 JavaScript的组成1) ECMAScript:1997由欧洲计算机协议组织所制定一个JavaScript的标准。该标准对javascript基本的语法进行规范; 2) BOM:BrowserObject Model 浏览器对象模型。作用:对浏览器对象进行操作。 3) DOM:DocumentObject Model 文档对象模型。作用:对html文档对象进行操作。 二、 Javascript的基本语法2.1 引入javascript的方式Ø 方式一:在script标签中编写js代码; 注意:script标签可以在head或body标签中定义; Ø 方式二:在js文件中编写js代码,然后再该js文件引入html中; 格式:<script type=”text/javascript” src=”js文件路径”></script> 注意:script的开始标签和结束标签不能够写在同一个标签中。 2.2 JavaScript的注释 单行注释://注释内容 多行注释:/* 注释内容 */ 2.3 定义变量语法格式:var 变量名 = 值; 注意事项: 1)js变量的数据类型是由它的值来决定,而且变量的类型可以变化; 2)如果存在同名变量的时候,后定义的变量会覆盖前面定义的变量; 3)var可以不写,但是建议还是加上; 2.4 查看变量类型语法格式:typeof(变量名); 2.5 变量的基本数据类型string:字符串,可以使用双引号,也可以使用个单引号; number:数值类型,包括整数和浮点数; boolean:布尔类型 undefined:未定义类型 2.5.1 类型的转换Ø parseInt(x):把字符串数值转换成整数; 注意事项: 1) 如果字符串是数值,那么该方法就把字符串转换成number类型的数据; 2) 如果字符串包含了非数字的字符,那么该方法就会从开始位置查找,直到第一个非数字的字符为止,然后再该字符前面的内容转换成数字; 3) 如果字符串数字的第一个字符是0,那么转换的时候就会把0去掉; 4) 如果字符串数字是0x开头,那么就会转换成十六进制的数字; Ø parseFloat(x):把字符串数值转成小数; 无论是整数还是小数的字符串,转换之后都是number类型的数据。 2.6 运算符2.6.1 算术运算符 注意:加号除了可以作为一个运算符,还可以表示一个正数或者是字符串连接符; 2.6.2 赋值运算符 2.6.3 逻辑运算符 2.6.4 比较运算符 Ø 数字和字符串比较: 1)如果字符串是数字,那么比较的时候就会把字符串转换数字,再进行比较; 2)如果字符串包含非数字,那么字符串转换就返回一个NaN,因此,NaN与任何数字比较都是返回false; Ø 字符串与字符串比较: 1)首先从字符串的开始位置逐个字符进行比较,直到第一个不相等的字符为止。然后再比较这两个字符的大小; 2)如果两个字符串没有找不相同的字符,那么就比较它们的长度; 2.6.5 三目运算符语法格式:条件表达式 ? 值1 : 值2; 2.7 流程控制2.7.1 if语句n 语法格式:if(条件) … elseif(条件) … else… 注意:if的条件除了可以是表达式以外,还可以是任意类型的数据。 1)如果是空字符串就代表false,非空就代表true; 2)如果是非0代表true,0就代表false; 3)undefinded返回false; 2.7.2 switch语句 语法格式: switch(条件) { case值1: … break; case值2: … break; default: break; } 注意:case的值除了可以是一个常量,还可以是一个变量或者是表达式。 2.8 循环2.8.1 while循环语法格式:while (条件) { 循环体 } 需求:实现1~100的加法运算。 2.8.2 do…while循环语法格式:do { 循环体 } while (条件); 需求:实现1~100的偶数的加法运算。 2.8.3 for循环 语法格式: for (初始化; 条件; 循环体后的代码) { 循环体 } 需求:实现1~100之间的奇数的加法运算。 2.8.4 break和continue break:中止循环; continue:中止本次循环,继续下一次循环; 2.8.5 for-in循环for-in循环的作用类似Java中的增强for循环。 语法格式: for (var 索引号 in 数组) { 循环体 } 或 for (var 属性名 in 对象) { 循环体 }
注意: 1)使用增强for循环遍历数组的时候,遍历出来的是数组的索引值; 2)使用增强for循环遍历对象的时候,遍历出来的是对象的属性名; 2.9 函数2.9.1 函数的作用1) 提高代码的重用性; 2) 通过函数创建对象; 2.9.2 定义函数的方式n 方式一: function 函数名(参数列表) { 函数体 } 注意事项: 1)函数的参数是不需要使用var关键字; 2)函数是不需要指定返回值类型,如果要返回数据就直接使用return即可; n 方式二:定义函数变量 var 函数名 = function(参数列表) { 函数体 } n 方式三:匿名函数 (function(参数列表){ 函数体 })(实参); n 方式四:使用Function对象创建函数 var 函数名 = new Function(“参数1”[, “参数2”], “函数体”); 2.9.3 变量范围Ø 全局变量:定义在函数外面的变量; 1)全局变量的作用范围:从变量的定义开始,到当前页面结束; 2)如果出现多个重名的全局变量,后面定义变量就会覆盖前面定义的变量; Ø 局部变量:定义在函数体内的变量; 1)局部变量的作用范围:从变量的定义开始,到函数体结束为止; 2)不同函数中的局部变量可以出现重名; 3)如果局部变量与全局变量出现重名,那么局部变量就会覆盖全局变量; 4)如果在函数体中声明的变量与全局变量出现重名,那么全局变量就会被重新定义,这样就无法再访问全局变量; 5)在函数体定义变量的时候如果没有加上var关键字,首先它会在该函数中查找是否存在该变量的声明,如果函数体中没有该变量的声明,那么它会在函数外查找是否存在该变量的声明。如果没有就会创建一个全局变量并赋值; 2.10 内置对象2.10.1 String对象Ø 创建字符串的方式: n 方式一:var 变量名 = “字符串”; n 方式二:var 变量名 = newString(“字符串”); Ø 常用的属性: length:获取字符串长度; Ø 常用的方法: 1) charAt():返回指定索引值的字符串; 2) charCodeAt():返回指定索引值的字符串的码值; 3) concat():连接多个字符串; 4) fontcolor():把带有 COLOR 属性的一个 HTML<FONT> 标记放置在 String 对象中的文本两端; 5) indexOf():返回指定字符串第一次出现的索引值; 6) lastIndexOf():返回指定字符串最后一次出现的索引值; 7) replace():替换匹配正则表达式的字符串; 8) split():按照字符串或正则表达式切割字符串; 9) substr():返回指定位置开始的指定长度的子字符串; 10) toUpperCase():把字符串中的所有字母转换成大写字母; 2.10.2 Number对象Ø 创建一个Number对象的方式: 方式一:var 变量名 = 数值; 方式二:var 变量名 = new Number(数值); Ø 常用方法: toString(n):把数字按照指定进制转换成字符串; toFixed(n):指定需要保留的小数位,并且可以进行四舍五入; 2.10.3 Date对象Ø 创建Date对象的方式: dateObj = newDate():获取系统的当前时间; dateObj = new Date(dateVal):获取指定毫秒数所对应的时间;
dateObj = newDate(year, month, date[, hours[, minutes[,seconds[,ms]]]]):指定年月日时分秒来创建一个Date对象; Ø 常用方法: ü getYear():获取当前时间到1900年之间相隔多少年; ü getFullYear():获取本地时间的年份; ü getMonth():获取本地时间的月份; ü getDate():获取本地时间的月份的日期; ü getHours():获取本地时间的小时; ü getMinutes():获取本地时间的分钟; ü getSeconds():获取本地时间的秒数; ü toLocaleString():获取系统时间; 2.10.4 Math对象作用:提供一些数学工具的属性和方法。 Ø 常用属性: PI:获取圆周率; Ø 常用方法: ü ceil():向上取整; ü floor():向下取整; ü random():生成0-1之间的随机数,包括0但不包括1; ü round():四舍五入; 2.10.5 Array对象Ø 创建数组的方式: 方式一:var 数组名 = new Array(); //创建一个空数组 方式二:var 数组名 = new Array(length); 方式三:var 数组名 = newArray(元素1, 元素2, …); 方式四:var 数组名 = [元素1, 元素2, …]; Ø js数组与Java数组的区别: js数组的长度是可变的,而且js数组可以存储任意类型的数据。 java数组的长度是固定的,而且java数组只能够存储一种类型的数据,除了Object以外。 Ø 常用的方法: ü concat():把多个元素添加到该数组的末尾并返回一个新的数组; ü join():指定分隔符把数组中的所有元素拼接成一个字符串并返回; ü pop():删除并返回数组中的最后一个元素; ü push():往数组添加新的元素并返回数组的长度; ü reverse():反转数组的元素; ü shift():移除并返回数组中的第一个元素; ü slice():返回数组中指定开始和结束位置之间元素所组成的数组(包头不包尾); ü sort():按照指定的规则对数组进行排序; ü splice():移除指定位置的一个或多个元素,然后在移除位置插入新的元素,并返回由移除元素所组成的数组;
|