一、JS概述
1. 概念
一种客户端脚本语言
客户端:运行在浏览器
脚本语言:不需要编译,执行通过解析引擎读取,执行。
2. 作用:
A:可以做一些简单的数据处理 //聪明
// 可以运算,+ - * %
// 可以做正则校验
B:可以控制html元素,让页面有一些动态的效果,增强用户的体验 //活泼
//document.write("<p></p>")
3. 组成部分
JavaScript = ECMAScript + BOM + DOM
4. 引入方式
内部 <script>js代码</script> //通常定义在<head>标签中
外部 <script src="js/xxx.js"/> //通常放在<body>标签中的最后面
二、JS语法
1. 变量 //弱类型
var i = 10; //variable变量
var s = 'abc';
i = true;
2. 数据类型
1) 原始数据类型
number //整数|小数|NaN
string //单双引号都可
boolean
null //空对象的占位符 typeof(null)-->object
undefined //变量未初始化
2) 引用数据类型
3) 类型转换
A:Xxx--->number
string: //正确格式的数字字符串都能转,其它转成NaN parseInt()
boolean: //true-->1; false-->0
B:Xxx--->boolean //[重要]
number: //0|NaN--->false; 其它--->true
string: //""--->false; 其它--->true
null: //--->false
undefined: //--->false
引用数据类型//--->true
3. 运算符
== //先进行类型转换,再比较
=== //先判断类型,再判断值
4. 流程控制语句
if
while
do...while
switch //可以接收所有原始数据类型
for
三、JS函数
1. 定义
function 函数名(形参列表){
方法体
}
var 函数名 = function(){
}
2. 特征
A:内置arguments数组对象,可以接收实参
B:没有方法重载,只有覆盖
C:调用方法只看方法名,不管参数列表
四、JS的内置对象
1. Array
1) 创建
var arr1 = new Array(1,2,3,4)
var arr2 = new Array(10)
var arr3 = [1,2,3,4,5]
2) 方法
.join("连接符") //指定元素间的连接符
.push() //添加元素
3) 特征
A:长度可变
B:类型可变
2. Date
1) 创建
var d = new Date();
var d = new Date(milliseconds); //根据指定毫秒值创建
var d = new Date(dateString); //根据指定日期字符串创建
2) 方法
.toLocalString() //转成本地字符串形式
.getTime() //获取毫秒值
3. Math
//不用创建对象,直接调方法
.ceil()
.floor()
.random()
.round()
4. RegExp //正则表达式
1) 创建
var reg = new RegExp("\\w{6,10}"); //注意要用双斜杠
var reg = /\w{6,10}}/ //注意不要加引号
2) 方法
reg.test("被检测的字符串")
3) 注意事项:
① 根据业务需求,决定是否需要添加开始&结束符
var reg = /^1[345789]\d{9}$/;
var tel = "18900001111";
var flag = reg.test(tel);
alert(flag);
var reg = new RegExp("");
var tel = "@#$%^&DFGHJK45678";
var flag = reg.test(tel);
alert(flag);
5. Global
1) 概念
全局函数,不用创建对象,可以在任意地方直接调用的函数。
encodeURI() //编码
decodeURI() //解码
encodeURIComponent() //更长...
decodeURIComponent()
parseInt() //按位解析字符串,转换成数字
isNaN() //NaN六亲不认,只能通过这个函数判断是否是NaN类型
eval("一段可执行的js代码")
五、BOM //Browser Object Model 浏览器对象模型 控制浏览器的一些行为
六、DOM //Document Object Model 文档对象模型 控制HTML文档中的标签
|
|