1.JS概述: JS是一种运行在浏览器端的脚本语言。 负责页面动态效果, 简单来说, 就是负责让页面动起来。 JavaScript = ECMAScript + BOM + DOM; 2.JS的组成 ECMAScript :JS的基本语法 BOM :浏览器对象模型(Browser Object Model),包含了JS中操作浏览器的相关对象. DOM :文档对象模型(Document Object Model),包含了JS中操作HTML页面的相关对象. 3.JS的引入方式 3.1:内部JS: * 定义<script>,标签体内容就是js代码 3.2:外部JS: * 定义<script>,通过src属性引入外部的js文件. 此时,标签体内部不允许写任何代码 注意: 1. <script>可以定义在html页面的任何地方。但是定义的位置会影响执行顺序。一般建议定义在<head>标签内部 2. <script>可以定义多个。 3. <script>在引入了外部的JS文件后,其内部将不再允许书写js代码。 4.JS的基本语法(与Java不同之处): 定义变量: var a = 值; 定义方法: function 方法名(){ } 运算符: == :"数值"是否相等 === :"数值"和"类型"都完全相同,才是true 注意: 其他语法,和Java语法几乎完全相同 5.类型转换(了解) 概述: JS是弱类型语言,在处理数据时,对类型要求不严格,所以,就会产生一些数据类型上的自动转换。 分类: 转换为number: * string转number:按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字) * boolean转number:true转为1,false转为0 转换为boolean: * number转boolean:0或NaN为假,其他为真 * string转boolean:除了空字符串(""),其他都是true * null转boolean: 都是false * undefined转boolean:都是false * 对象:都为true //一切有意义的都是true,无意义的都是false 6.JS的常见对象: 6.1:Array(数组) 创建数组: var arr = [元素列表]; 常用属性: length:数组的长度 常用方法: join(): 把数组按照指定字符串拼接. /** * 例如: * var arr = [1,2,3]; * arr.join("-"); * 结果是: 1-2-3 */ push(新元素): 向数组的最后添加新元素 特点: 1. JS中,数组元素的类型可变的。 2. JS中,数组长度可变的。 6.2:Date(日期时间) var date = new Date(); //获取当前时间 date.getTime(); //获取当前时间的毫秒值。返回当前日期对象描述的时间到1970年1月1日零点的毫秒值差 6.3:Math Math.random() :返回 0 ~ 1 之间的随机数。 含0不含1 Math.ceil(x) :对数进行上舍入。 Math.floor(x) :对数进行下舍入。 Math.round(x) :把数四舍五入为最接近的整数。 Math.PI : π 7.正则表达式: 概述: 是一个包含了特殊规则的字符串。(本质上也是一个字符串,只不过该字符串中的字符包含了特定含义) 规则: 单个字符:[] 如:[a] [ab] [a-zA-Z0-9_] * 特殊符号代表特殊含义的单个字符: \d:单个数字字符 [0-9] \w:单个单词字符[a-zA-Z_0-9] 量词符号: ? //表示出现0次或1次 * //表示出现0次或多次 + //出现1次或多次 {m,n}: //表示最小m次,最多n次 * m如果缺省: {,n}:最多n次 * n如果缺省:{m,} 最少m次 其他: ^:开始 $:结束 8.JS中使用正则表达式 1.创建正则表达式对象 var reg = /正则表达式/; 2.使用正则表达式 reg.test(字符串); //验证指定的"字符串"是否符合"正则表达式的指定规则" 3.常用规则: A. QQ正则 [1-9]\d{4,10} B. 手机号正则 [1][34578]\d{9} C. 邮箱正则 \w+@[a-zA-Z0-9]+\.[a-z]{2,3} 9.全局对象Global 特点: 该对象Global中封装的方法不需要对象, 可以直接调用。 常用方法: parseInt():将字符串转为数字 * 逐一判断每一个字符是否是数字,直到不是数字为止,将前边数字部分转为number isNaN():判断一个值是否是NaN * NaN六亲不认,连自己都不认。NaN参与的==比较全部都是false eval():讲 JavaScript 字符串,并把它作为脚本代码来执行。 10.URL编码(了解) 概述: 在Web开发中,浏览器的地址栏,不支持中文. 为了解决这个问题, 我们在传递中文时,会把中文进行编码传输, 等对方接收后,对方解码, 这就是URL编码和解码. 方法: encodeURI():url编码 decodeURI():url解码 encodeURIComponent():url编码,编码的字符更多 decodeURIComponent():url解码