JS7

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里 var app=document.getElementById(id名字"app") ——在js里找到id名为app的那一对div

**获取到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

      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

      当前余额3.43前往充值 >
      需支付:10.00
      成就一亿技术人!
      领取后你会自动成为博主和红包主的粉丝 规则
      hope_wisdom
      发出的红包
      实付
      使用余额支付
      点击重新获取
      扫码支付
      钱包余额 0

      抵扣说明:

      1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
      2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

      余额充值