黑马程序员技术交流社区
标题:
学习使我进步
[打印本页]
作者:
胡金超
时间:
2019-8-20 17:02
标题:
学习使我进步
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解码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2