string,number已经讲完了
布尔没什么可讲的
增则表达式
今天讲math 对象:专门封装了一些与数学计算相关的api(方法)
语法:
1math.round()——四舍五入取整
var num=math.round(0.6)
console.log(num)
2.向上取整
math.ceil()
3.向下取整
math.floor()
4取一堆数中的最小值
math.min()
5.取最大值
math.max()
**接受参数序列,但是不接受数组
6.math.random() 取随机数
random是有区间的,取0-1之间的随机数;
如果取50-100这个区间内?
math.random()*51+50
公式:math.floor(math.random()*(max-mix+1)-+min)
7.math.pop(“底数”,“次方”) 没什么用
8.math.sqrt()平方根
9.math.abs() 取绝对值
————————————
其他的用处非常小,不用记住
例子: 随机验证码
26个字母大小写,和10个数字
string.fromCharCode(unicode编码)
数字的unicode编码对应:48-57
大写字母:65-90
小写字母:97-122
var code=[]
for(var i=48,i<=57,i++){
code.push(1)
}
for(var i=65,i<=96,i++){
code.push(1)
}
for(var i=97,i<=122,i++){
code.push(1)
}
var arr=[]
for(var i=0.i<4,i++){
var index=math.floor(math.random()*62)——存的是角标
var un=code[index]
var cha=string.fromCharCode(un)
arr.push(cha)
}
console.log(arr)
date对象:封装了所有与日期相关的api
1.先创建日期对象
var date=new Date() -----新语法
console.log(date)
new Date() 得到的是当前的时间
当然也可以在括号里加时间
var target=new date(“2020-01-01 00:00:00”)
console.log(target)
**日期对象可以直接相减,得到的结果是间隔毫秒数
var now=new data()
var target=new date(“2020-01-01 00:00:00”)
var ms=target-now;
console.log(ms/1000/60/60/24)
举例:计算距离过年还有几天
var m=math.floor(ms/1000/60/60/24)
var d=math.floor(ms-m30246060*1000)/1000/60/60/24
console.log(“距离过年还有”+m+“个月”+d+“”天)
2.getDate() 返回的是几号,(1-31)
var now=new Date()
console.log(now.getDate())
getFullYear() 返回哪年
getMonth()返回的是0-11**
getDay()返回0-6
getHours() 0-23
getMinutes()0-59
getSeconds()0-59
getMillseconds()0-999
getTime()距离1970年1月1日之间的毫秒数
以上所有方法把get改成set,那么就是设置时间的方法
error对象:代表所有错误的父类型:
1.sytaxError:语法错误,少了括号,写错了语法等
2.reference Error:引用错误
3.typeError:错误的使用了类型的方法
4.evalError 解析错误
5.Range Error 超范围错误
6. uriError
Dom操作:document object model 缩写
dom是可以用js去操作页面的
**非常重要,因为可以将js的功能应用在页面上
Dom操作:重要的四步
1.增删改查
查:查找元素-转化为对象(元素对象)
通过id去寻找
1)document.getelementByid(id名) 返回的是元素对象
**获取到html中的div后,它就变成了元素对象
console.log(app)
console.log(app.id)
app.ld=“box”(改对象的id名字)
2)通过class名字去找
document.getElementsByClassName(“box”)
var app=document.getElementByClassname(“box”)
console.log(app)
id直接返回元素对象,class返回的是一个数组
3)通过标签
document.getElementsByTagName()返回的是数组
document.getElementsByClassName(“div/p”)
4)document.getElementsByName() 表单专用
5)doucment.queryselector(“css选择器”)
举例:doucment.queryselector("#app/.box")
只能找一个,不是一个数组
6.doucment.queryselectorAll(“css选择器”)
返回的是数组
举例:
如果想找li,用doucment.queryselectorAll("#list2 li")
或者
var list=document.getElementById(“list2”);
list2.getelementsByTagName(“li”)2.改,html中任何(属性)都可以改
通过对象的形式,改id名字
var list=document.getElementById(“list2”);(第一步,先找到)list.id=“aaa”(第二步,改id属性名)
list.className=“abc”(同样,改class属性名)*** class代表类,所以调用html中的class要用className
**style比较特殊,不是值还是个一个对象,调用的话
var list=document.getElementById(“list1”);
list.style.color=“Bule”
list.style.fontSize=“56px”取值的话:list.style.color
**js里没有连接符,都改为驼峰式命名,就是下一个改为大写开头的;
2.setAttribute(“属性名”,“属性值”)————用的很少
list.setAttribute(“id”,“abc”)
或者list.setAttribute(“class”,“box”)2)改内容,innerText:拿到的是元素开始标签到结束标签之间的文本内容
list.innerText=“你好”
**注意,innerText只拿文本,不关注其他标签,修改后之前的都修改掉
** innerHTML 是元素里面的html结构,完整的原来结构
list.innerHTML=“
你好” (H标签可以辨认出来)
** 未来的html都是用js写出来的,因为网站是动态页面,数据是动态的
** html换行的话,必须两个引号在同一行;
3)删:
删属性, removeAttribute
list.removeAttribute (“id”) 删id
删内容:innerHTML=‘’“ 空字符
删元素:父元素对象.removeChild(“要删除的子元素对象”)举例: document.body.removeChild(“list1”)
4)增: 添加元素
1.创建元素:createElement(“创建的标签名”)var h=document.createElement(“h1”)——创建了h1,然后用变量h存起来;
2.添加到页面
父元素对象.append(“子元素对象”) 子元素对象指新加的元素
list1.append(“h1”)
3.加属性和内容,参考第二部不
h.innerHtml=“哈哈哈哈”
h.id=“bigtitle”**动态生成表格的练习;
var data=[{name:“张三”,age:“18”,salary:3500},{name:“李四”,age:“20”,salary:4500}{name:“王五",age:“22”,salary:5500}]
1.创建table
var table=document.createElement(‘table’)
2.渲染到dom中
document.body.appendChild(table)
3.创建表头单元行
var tr=document.createElement(‘tr’)
table.appendChild(tr)4.创建单元格
var first=data[0];
If (first){ ——————防止数据库中为空的情况
for (var key in first){
var td=document.createElement(“td”)
tr.appendChild(td)
tr.innerHTML=key
}
} ————————这一步是做表头的维度,需要多少列在style中加一些样式
5.追加数据行
for(var i=0; i<data.lengh;i++){
var tr=document.createElement(“tr”)
table.appendChild(tr);
for(var key in data[i]){
var td=document.createElement(’‘td’)
tr.appendChild(td)
td.innerHTML=data[i][key]
}
}innerHTML