课程回顾
- 引入js三种:
- 在元素内部通过事件属性添加js代码 通常写的都是方法的调用
- 在
<head>
里面添加<script>
标签 在标签体内写js代码 - 在单独的js文件中写代码,然后通过
<script>
标签的src
属性引入*.js文件
- 数据类型:
- 数值类型 number
- 字符串类型 string
- 布尔值类型 Boolean
- 未定义类型 undefined
- 对象类型 object
- 遍历声明和赋值
- var x = 10; x=”abc”; x=true/false; var y;
- 类型之间隐式转换
- 字符串: 转数值,能转直接转 不能转则转NaN;转布尔值 “”->false 其它true
- 数值:转字符串,直接转,转布尔值 0和NaN转
false
其它true
- 布尔值:转数值 false->0 true->1 字符串直接转
- undefined: 字符串直接转 转数值NaN 转布尔值
false
- null:转字符串直接转 转数值0 转布尔值
false
- 运算符,==先统一类型再比较 ===先比较类型 如果相等再比较值
- typeof 18 + 5 = “number5”
- 除法会根据结果自动转换整数和小数
- 语句,写条件的地方如果不是布尔值会自动转成布尔值,for循环 int i改成var i 不支持增强for循环
- 方法声明
- function 方法名(name,age){return xxx;}
- var 方法名 = function(name,age){return xxx;}
- 页面相关内容
- 通过
id
获取元素对象: var x = document.getElementById(“div1”); - 获取文本框的值和设置文本框的值
input.value = “abc”;var x = input.value; - 给div添加文本内容
div.innerText=”abc”; - 给div添加HTML内容
div.innerHTML=”“;
- 通过
九宫格练习 代码参见demo01
几行几列练习 代码参见demo02
String 数组 日期对象 正则
String相关内容
创建字符串的两种方式
- var s1 = “abc”; //单引号和双引号都可以
- var s2 = new String(“abc”);
把字符串转成数值
- parseInt(str)//把字符串转成整数,还可以把小数转成整数
- parseFloat(str)//把字符串转成小数
- Number(str)//等效parseFloat
字符串转大小写
- str.toUpperCase()//转大写 str.toLowerCase()//转小写
获取字符串出现的位置 从0开始
var str = “abcdefgem”;
-从前面找str.indexOf("e");
-从后面找
str.lastIndexOf("e");
截取字符串 从0开始
str.substring(start,[end]);
替换字符串
`str.replace(old,new);
color
“;
var x = “
x.replace(“[c]”,color);`拆分字符串
str.split(“.”); //返回值是个数组数值相关:四舍五入
18.23456.toFixed(4); // 18.2346
数组相关
创建数组 数组内部可以添加任意类型的数据
- var arr1 = [“小明”,18,true];
- var arr2 = new Array();
往数组中添加内容
arr2.push(“张学友”);
arr2.push(28);
arr2.push(true);修改数组的长度
arr1.length = 2;遍历数组
for(var i=0;i<arr1.length;i++){alert(arr1[i]);
}
数组反转
arr.reverse();数组排序 默认排序方式是以字符串的形式进行排序 排序规则是通过Unicode编码进行排序
arr.sort();
服务器时间和客户端时间
- 获取客户端时间
var d1 = new Date();
- 2018/9/30 14:35:32 把字符串时间转成时间对象
var d2 = new Date("2018/9/30 14:35:32");
- 从时间对象中获取和设置时间戳(距离1970年1月1日 08:00:00)
d2.getTime();
d2.setTime(1000); 1970/1/1 08:00:01
- 获取时间分量 单独的年 月 日 时 分 秒 星期几
d1.getFullYear();
d1.getMonth();//从0开始
d1.getDate();
d1.getDay();//星期
d1.getHours();
d1.getMinutes();
d1.getSeconds();
- 获取年月日 获取时分秒
d1.toLocaleTimeString();
d1.toLocaleDateString();
正则表达式
. :匹配任意字符除了换行
\w:匹配任意数字、字母、下划线
\d:匹配任意数字
\s:匹配空白
^: 开头
$: 结尾
- 获取客户端时间
应用场景:1. 查找内容 2. 校验文本
//第一种创建方式:第一个/代表的是规则
//第二个参数表示模式
//(i:忽略大小写 g:全局查找)
var reg1 = /^a/i; //以a开头 忽略大小写
//以m结尾
reg1 = /m$/;
//包含两个数字
reg1 = /\d{2}/;
//以3个数字开头
reg1 = /^\d{3}/;
//以y开头m结尾中间包含5位数字
reg1 = /^y\d{5}m$/;
//6-10位数字字母下划线
reg1 = /^\w{6,10}$/;
//第二种创建方式第一个参数是格式,第二个是模式
//第二个参数如果没有值可以省略
var reg2 = new RegExp(“^\w{6,10}$”);//和正则相关的方法
//1. 查找内容
var str = “you can you up no can no b b”;
var reg = /no/g;
//查找内容 如果全局查找 每执行一次查找一个
//执行第二次查找下一个 找不到时得到null
//alert(reg.exec(str));//no
//alert(reg.exec(str));//no
//alert(reg.exec(str));//null
//2. 校验方法
//reg = /^You/i;
//alert(reg.test(str));
//字符串和正则相关的方法
//3. 查找内容 一次性得到所有查找内容
//var arr = str.match(reg);
//alert(arr);
//4. 查找替换 替换所有
alert(str.replace(reg,”bu”));