js(1-66)

文章目录


在这里插入图片描述

4 hello

弹窗

    <script>
        alert("hello")
    </script>

在这里插入图片描述
双斜杠注释

网页内

    <script>
        document.write("hello")
    </script>

在这里插入图片描述

控制台

    <script>
        console.log("hello")
    </script>

5 js书写位置

行内式

双引号内用单引号

<body>
    <div onclick="alert('hello');"></div>
</body>

内嵌式

添加 <script> </script>

可以放在head也可放在body(最好在body最后)

外链式

引入

    <script src="路径">
    </script>

引入后,原script内写的内容无效

06 js注释与书写方式

  • //
  • /* 内容*/
  • 加不加分号不影响
    一行内,若写多句,句间要加分号;,否则会报错
    要不就换行写

07 js变量

在这里插入图片描述

直接初始化
<script>
        var x=100;
        var y=x+300;
        document.write(y);
</script>

先定义后赋值
<script>
        var x;
        x=100;
        var y=x+300;
        document.write(y);
</script>
    

多个变量、表达式之间用逗号表示
若给y加上双引号,则输出y,而不是400

在这里插入图片描述

08变量命名的规则与规范

在这里插入图片描述

09数据类型

在这里插入图片描述
在这里插入图片描述

number:

除了以上包括浮点型(小数,,科学计数法)
输入的值最后都会输出为十进制
前缀:二进制0b,八进制0,十六进制0x

string

  • 双引号内是什么就输出什么

boolean

取值

  • false
  • true

undefined

变量声明了,但是未赋值
也可直接写为var a=undefined;

null

为未来赋值做准备 var a =null
想赋值了直接写a=某值

10 检测数据类型typeof

    <script>
        var a=1e3
        document.write(a)
        
        document.write(typeof a)
    </script>

在这里插入图片描述

    <script>
        var a="1e3"
        document.write(a)
        
        document.write(typeof a)
    </script>

在这里插入图片描述
其结果本质就是字符串

    <script>
        var a=1e3
        
        
        document.write(typeof typeof a)
    </script>

在这里插入图片描述

    <script>
        var a=1e3
        document.write(a)
         document.write(typeof a+100)
        document.write(typeof (a+100)
        var b=null
        document.write(b)
    </script>

在这里插入图片描述

数据类型转换

11转数值

在这里插入图片描述

    <script>
        var a="100"
        var b=Number(a)
        document.write(typeof a,typeof b)
    </script>

在这里插入图片描述

NaN也为数值类型

    <script>
        var a=true,c=false
        var b=Number(a)
        var d=Number(c)
        document.write(a,typeof a,b,typeof b,d,typeof d)
    </script>

在这里插入图片描述

    <script>
        var a=null,b=undefined
        var c=Number(a)
        var d=Number(b)
        document.write(c,d)
    </script>

    <script>
        var a="123bcd"
        var c=parseInt(a)
        document.write(c)
    </script>

在这里插入图片描述

注意:严格大小写parseInt

运算法改为数值类型

通过*1;/1;-0

    <script>
        var a=123
        var c=a-0
        document.write(c,typeof c)
    </script>

在这里插入图片描述

12转字符串

在这里插入图片描述

    <script>
        var a=123
        var b=undefined
        var c=null
        var d=String(a)
        var e=String(b)
        var f=String(c)
       
        document.write(typeof(d,e,f))
    </script>

在这里插入图片描述

   <script>
        var a=123
        var b=a+"1"
      
        document.write(b)
    </script>

在这里插入图片描述

13转布尔boolean

在这里插入图片描述

若双引号内有空格,则值为true

运算符

在这里插入图片描述

13数学运算符

在这里插入图片描述

    <script>
        document.write(1+"2"*3+4)
        document.write("1"+"2"*3+4)
    </script>

在这里插入图片描述
1+6+4
“1”“6”4拼接

15赋值运算符在这里插入图片描述

16比较运算符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

17 逻辑运算符

在这里插入图片描述
在这里插入图片描述

!!表示转换为布尔值
短路

18自增自减运算符

在这里插入图片描述

var n=10
var m=++n + n++ + ++n 
输出结果为m为35,n为13

19三目运算符

条件分支语句

在这里插入图片描述

20 if

21if案例

判断奇数偶数

        var n=10;
        if(n%2){
            document.write("奇数");
        }
        else{
            document.write("偶数");
        }
输出结果为  偶数

根据0-100的数字输出成绩

在这里插入图片描述

var n
        n=某值
        if(n>=90&&n<=100){
            document.write("A")
        }
        else if(n>=80&&n<90){
            document.write("B")
        }
        else if(n>=70&&n<80){
            document.write("C")
        }
        else if(n>=60&&n<70){
            document.write("D")
        }
        else if(n>=0&&n<60){
            document.write("E")
        }

判断闰年

在这里插入图片描述

&&的优先级必||高

    <script>
        var n
        if(n%400==0||(n%4==0&&n%100!=0)){
            document.write("闰年")
        }
        else{
            document.write("不是闰年")
        }
    </script>

22 switch

在这里插入图片描述
注意

break必需写
默认为===,数据类型和值都要一样

23switch案例

在这里插入图片描述

    <script>
        var n=9
        switch (n) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                document.write("31天")
                break;
            case 2:
            document.write("28天")
                break;
            case 4:
            case 6:
            case 9:
            case 11:
            document.write("30天")
                break;
           
        }
    </script>

在这里插入图片描述
法二

注意
n=96
m=n/10=9.6

    <script>
        var n=96;
        var m=parseInt(n/10);
        switch (m){
            case 9:
            case 10:
                document.write("A")
                break;
            case 8:
                document.write("B")
                break;
            case 7:
                document.write("C")
                break;
            case 6:
                document.write("D")
                break;
            default:
            document.write("E")
                break; 
        }
    </script>

循环分支语句

在这里插入图片描述

24while

在这里插入图片描述

注意自身改变!!!!!!!!!!!!!!!否则死循环!!!
操作台一步步执行在这里插入图片描述

25while案例

在这里插入图片描述

    <script>
        var sum=0
        var n=1
        while(n<=100){
            sum=n+sum
            n++
        }
        document.write(sum)
    </script>

在这里插入图片描述

    <script>
        var sum=1
        var n=1
        while(n<=3){
            sum=n*sum
            n++
        }
        document.write(sum)
    </script>

26dowhile

在这里插入图片描述

27dowhile案例

1-100累加

<script>
    var sum=0
    var n=1
    do{
        sum+=n;
        n++;
    }while(n<=100)
    document.write(sum)
</script>

输出结果为 5050

prompt 直到输入名字,否则一直有弹出窗口

    <script>
        do{
            var input=prompt("请输入名字")
        }while(!input)
    </script>

用input变量存储

在这里插入图片描述
点取消确定都不会关闭弹窗,直到输入名字

28for

在这里插入图片描述

29for案例

累加到100

       var sum=0
       for(var i=1;i<=100;i++){
        sum+=i
       }
       document.write(sum)

1000-1100的闰年

var year
        for(year=1000;year<=1100;year++){
            if(year%400===0||year%4===0&&year%100!==0){
                document.write(year+" ")
            }   
        }

在这里插入图片描述

       var count=0
        for(var year=1000;year<=1100;year+=4){
            //year+=4提高效率
            if(year%400===0||year%4===0&&year%100!==0){
                document.write(year+" ")
                count++
                if(count%4===0){
                    document.write("<br>")
                    //每打印4个就换行
                }
            }   
        }

30循环控制语句

break

在这里插入图片描述

可通过控制台看执行过程,当i=3时,进入if,执行break,直接跳出for循环,终止运行

continue

在这里插入图片描述

31求质数

在这里插入图片描述

        var judge=true
        var n=18
        for(i=2;i<=n;i++){
        //改为i<=n/2增加效率
            if (n%i===0){
              judge=false
              break
              //break增加效率
            }
        }
        if(judge)
        document.write("是质数")
        else
        document.write("不是质数")

输出结果不是质数

只有一个变量
        var n=32
        for(i=2;i<=n;i++){
            if (n%i===0){
                break
            }
        }
        if(i<n)
        document.write("不是质数")
        else
        document.write("是质数")

把n换成n/2也可

32九九乘法表

    for(m=1;m<=9;m++){
        for(n=1;n<=m;n++){
        //n<=m控制每行的式子个数
            document.write(m+"*"+n+"="+m*n)
            //拼接显示*和=
        }
        document.write("<br>")
        //每输出一行,就换行
    }

在这里插入图片描述


美化
<style>
    span{
        display: inline-block;
        width: 70px;
    }
</style>    
<script>
    for(m=1;m<=9;m++){
        for(n=1;n<=m;n++){
            document.write("<span>"+m+"*"+n+"="+m*n+"</span>")
        }
        document.write("<br>")
    }
</script>

在这里插入图片描述

33初识函数

函数是一个复杂数据类型
在这里插入图片描述

函数定义在这里插入图片描述

声明式

function test1(){
document.write(“内容”)
}

在这里插入图片描述

赋值式

var test2=function(){
内容
}

在这里插入图片描述

调用函数

在这里插入图片描述

test1()
test3()

声明式可以先调用后定义,赋值式不可以

    function prime(n){
        for(var i=2;i<=n/2;i++){
            if(n%i===0){
                break
            }
        }
        if(i<=n/2){
           document.write(n+"不是质数")
        }
        else{
            document.write(n+"是质数")
        }
    }
    prime(3)
    prime(68)
    prime(29)

在这里插入图片描述

34函数实现九九乘法表

<style>
    span{
        display: inline-block;
        width: 70px;
    }
</style>    
<script>
    function a(){
        for(m=1;m<=9;m++){
            for(n=1;n<=m;n++){
            document.write("<span>"+m+"*"+n+"="+m*n+"</span>")
            }
        document.write("<br>")
        }
    }
    a()
    a()
    a()
</script>

在这里插入图片描述

35函数的参数

在这里插入图片描述

形参作用域仅在函数内部中

36函数的参数的案例n*n乘法表

<style>
    span{
        display: inline-block;
        width: 70px;
    }
</style>    
<script>
    function a(target){
        for(m=1;m<=target;m++){
            for(n=1;n<=m;n++){
            document.write("<span>"+m+"*"+n+"="+m*n+"</span>")
            }
        document.write("<br>")
        }
    }
    a(7)
    a(4)
    a(3)
</script>

在这里插入图片描述

若没有传入参数,则为undefined的类型,可以在for上面加上if(target===undefined){ alert(“请传入参数”)}用以提示
或者在if中写入target=9意为默认值为9

37函数的返回值

在这里插入图片描述
在这里插入图片描述
return后的内容不会执行

38案例

10-100内的所有质数

    function prime(n){
       
        for(var i=2;i<=n/2;i++){
            if(n%i===0){
                break
            }
        }

//截止线
        if(i<=n/2){
            return false
        }
        else{
            return true
        }

//上面这一块可直接换为
return i>n/2


    }
    
    var count=0
    for(var n=10;n<=100;n++){
        if(prime(n)){
        //函数调用,此处的n与上面函数的n作用域不同
            document.write(n+" ")
            count++
            if(count%5===0){
                document.write("<br>")
            }
        }
    }

在这里插入图片描述

?


why!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    function prime(n){
        for(var i=2;i<=n/2;i++){
            if(n%i===0){
                return false
            }
            else{
                return true
            }   
        }
    }
    for(var i=1;i<=20;i++){
        if(prime(i)){
            document.write(i+"是质数")
        }
       
    }

在这里插入图片描述

39预解析

在这里插入图片描述
在这里插入图片描述

40重名问题

41作用域

全局作用域

在这里插入图片描述

局部作用域在这里插入图片描述

42变量使用规则

在这里插入图片描述

访问规则在这里插入图片描述

在这里插入图片描述

赋值规则

在这里插入图片描述
在这里插入图片描述

对象

在这里插入图片描述

43对象数据类型

创建对象在这里插入图片描述

    var obj={
        name:lucy,
        age:18,
    }
    document.write(obj)
    var obj2=new object()
    obj2.name=lucy
    obj2.age=18

不常规的用“a+b”=“内容”

44对象的基本操作

    var obj{}
    obj.name="内容"
    obj.age=18

法二
obj [“name” ]="内容”

 document.write("姓名是"+obj.name)

法二
document.write(obj [ “name” ]

obj.age=200

法二
obj【“name”】=“内容”

delete obj.name

法二
delete obj【“内容”】

45对象的遍历


    for(let i in obj){
        console.log(obj[i])
    }

46不同数据类型的存储

在这里插入图片描述栈区的obj相当于地址
在堆里都有自己的地址

47数组数据类型

在这里插入图片描述

let arr1=[a,b,c]
let arr2=[{z,b},{c,d},{e,f}]
let arr3=new array(a,b,c)
let arr4=new array(10)

48数组基本操作

长度length

可读,可写

document.write(arr1.length)
arr.length=3改变数组长度为3
也可直接改为0,清空数组

索引

let arr=["a","b","c"]
document.write(arr[0])
输出结果为a

document.write(arr[4])
输出结果为undefined

let arr=[1,2,3]
arr[4]=7
document.write(arr[4])
输出结果为7

遍历

let arr=[1,2,3]
for(let i=0;i<arr.length;i++){
    document.write(arr[i])
}

输出结果为1 2 3

复制

let arr1=[1,2,3,4]
let arr2=[]
for(let i=0;i<arr1.length;i++){
    arr2[i]=arr1[i]
    document.write(arr2[i])
}
 arr2[1]=8
document.write(arr2)

在这里插入图片描述

49冒泡排序法

只一次循环

let arr=[3,1,9,2]
for(let i=1;i<arr.length-1;i++){
    if(arr[i]>arr[i+1]){
        var temp=arr[i]
        arr[i]=arr[i+1]
        arr[i+1]=temp
    }
}
document.write(arr)
let arr=[3,1,9,2]
for(let j=0;j<arr.length-1;j++){
    for(let i=0;i<arr.length-1-j;i++){
        if(arr[i]>arr[i+1]){
            var temp=arr[i]
            arr[i]=arr[i+1]
            arr[i+1]=temp
        }
    }
}
document.write(arr)


输出结果1239

50选择排序法

let arr=[3,1,9,2]
for(let m=0;m<arr.length-1;m++){
    let min=m
    for(let n=m+1;n<arr.length;n++){
        if(arr[n]<arr[min]){
            min=n
        }
    }
    let temp=arr[m]
    arr[m]=arr[min]
    arr[min]=temp
}
document.write(arr)

数组常用方法

51影响原数组的在这里插入图片描述

push

在数组后面追加元素、
返回值是长度

    let arr=[2,5,7]
    let a=arr.push(3)
    document.write(arr)
    document.write("返回值",a)

在这里插入图片描述

pop

    let arr=[2,5,7]
    let a=arr.pop()
    document.write(arr)
    document.write("返回值",a)

在这里插入图片描述

在最后删除元素
返回值是删除的元素

unshift

    let arr=[2,5,7]
    let a=arr.unshift("haha")
    document.write(arr)
    document.write("返回值",a)

在这里插入图片描述

在前面追加元素
返回值是长度

shift

前面删除元素
返回值是删除的元素

splice(a,b)

a表示从什么位置开始,b表示要删除的个数

删除

返回值是删除的元素

    let arr=[2,5,7,3,0]
    let a=arr.splice(2,1)
    document.write(arr)
    document.write("返回值",a)
    document.write("<br>")
    let b=arr.splice(0,2)
    document.write(arr)
    document.write("返回值",b)

删除了两次

在这里插入图片描述

增加

    let arr=[2,5,7,3]
    let a=arr.splice(0,0,"one")
//在0位置不删除元素,在零处的元素换为one,原来在0位的往后移
    document.write(arr)
    document.write("返回值",a)
    document.write("<br>")
    let b=arr.splice(3,0,"two","three")
    document.write(arr)
    document.write("返回值",b)

在这里插入图片描述

reverse

    let arr=[2,5,7,3]
    let a=arr.reverse()
    document.write(arr)
    document.write("返回值",a)


在这里插入图片描述

sort

sort接受一个回调函数

    let arr=[21,15,7,3]
    let a=arr.sort(function(a,b){
        return a-b
    })
    document.write(arr)
    document.write("返回值",a)
    
    a-b为正序排列
    
    b-a为倒叙排列
    

a-b如下在这里插入图片描述
b-a如下在这里插入图片描述

52不影响原数组的

concat串联(拼接)

    let arr1=[1,2,3]
    let arr2=[4,5,6]
    let arr3=arr1.concat(arr2)
    let arr4=arr2.concat(arr1)
    document.write(arr3,"<br>",arr4)

在这里插入图片描述

    let arr1=[1,2,3]
    let arr2=[4,5,6]
    let arr3=arr1.concat(arr2,[8,9],0)
    document.write(arr3)
    

在这里插入图片描述

新复制方法,不影响原来内容的

    let arr1=[1,2,3]
    let arr3=arr1.concat()
    arr3.pop()
    document.write(arr1,"<br>",arr3)

在这里插入图片描述

join

改变原来数组的逗号化为别的符号

	 let arr1=[1,2,3]
    let arr2=arr1.join("-")
    let arr3=arr1.join("|")
    document.write(arr1,"<br>",arr2,"<br>",arr3,arr1.join("$"))

在这里插入图片描述

slice

slice(a,b)

a,b表示位置,包头不包尾
比如1,3意为从第一位到第二位的内容

	let arr=[4,5,"a","b"]
    let a=arr.slice(1,3)
    document.write(a)

输出结果为5,a

slice(a)

从a开始到最后

	let arr=[4,5,"a","b"]
    let a=arr.slice(1)
    document.write(a)

在这里插入图片描述

slice()

实现复制
负值的位置

	let arr=[4,5,"a","b"]
    let a=arr.slice()
    let b=arr.slice(1,-1)
    document.write(arr,"<br>",a,"<br>")
    document.write(b)
    
    

在这里插入图片描述

indexOf

检索位置
返回-1则是找不到
若有重复的元素,则只能检索到第一个个位置
可以通过lastindexOf从后往前检索

	let arr=[4,5,"a","b"]
    let a=arr.indexOf("a")
    let b=arr.indexOf(4)
    document.write(a)
    document.write("<br>")
    document.write(b)

在这里插入图片描述

53数组去重

新数组 push

	let arr=[4,3,4,4,5,"a","a","b"]
    let arr2=[]
    for (let i=0;i<arr.length;i++){
        if(arr2.indexOf(arr[i])===-1){
            arr2.push(arr[i])
        }
    }
    document.write(arr2)

在这里插入图片描述

利用对象

new Set

new Set只允许没有重复的数组
Array.from可以将set结构转化为数组

	let arr=[4,3,4,4,5,"a","a","b"]
    let set=new Set(arr)
    document.write(set)
    document.write("<br>")
    console.log(set)
    let arr2=Array.from(set)
    //将set结构转换为数组结构
    document.write(arr2)

在这里插入图片描述

54数组方法3

forEach

	let arr=[4,5,"a"]
    arr.forEach(function(item,index,arr){
    //元素,位置,数组名
        document.write(item,index,arr)
        document.write("<br>")
    })

在这里插入图片描述

map映射

	let arr=[4,5,"a"]
    let arr2=arr.map(function(){
        return "ha"
        //注意给ha 加上双引号
    })
   document.write(arr2)
    

在这里插入图片描述

	let arr=[4,5,"a"]
    let arr2=arr.map(function(item){
        return item*item
    })
   document.write(arr2)

在这里插入图片描述

55字符串基本操作

	let arr=[4,5,"a"]
    let arr2=arr.map(function(item){
        return "<li>"+item+"</li>"
    })
   document.write(arr2.join(" "))

在这里插入图片描述

filter过滤

返回值只有true和false
可以通过比较运算符灵活运用

	let arr=[1,2,7,8,9]
    let arr2=arr.filter(function(item){
        return item>5
    })
   document.write(arr2)

输出结果7,8,9

对象的使用??

every每个

	let arr=[63,67,91,80]
    let arr2=arr.every(function(item){
        return item>=60
    })
    document.write(arr2)
	let arr3=[63,67,51,80]
    let arr4=arr3.every(function(item){
        return item>=60
    })
    document.write(arr4)

可用于判读一个学生是否挂科

在这里插入图片描述

some

只要一个满足就为true

find

reduce叠加

结构let arr2=arr.reduce( function(previous,item){},a)

上式中a表示初始值
prev是上一次return的结构

	let arr=[1,2,3,4]
    let arr2=arr.reduce( function(prev,item){
        return prev+item
    },0)
    document.write(arr2)

输出结果为6

55字符串

在这里插入图片描述

length长度(只读)

下标(只读)

遍历

56案例 统计字母出现次数

	let str="aaabbccccd"
    let obj={}
    for(let i=0;i<str.length;i++){
        
        let key=str[i]
        if(obj[key]===undefined){
            //未出现过
            obj[key]=1
        }else{
            obj[key]++
        }
    }
   console.log(obj)
	let str="aaabbccccd"
    let obj={}
    for(let i=0;i<str.length;i++){
        let key=str[i]
       
        if(obj[key]){
            obj[key]++
        }else{
            obj[key]=1
        }
    }
   console.log(obj)

在这里插入图片描述

57字符串常用

索引

chartAt

返回索引对应的字符

	let str="abcdef"
    let str1=str.charAt(0)
    let str2=str.charAt(3)
    document.write(str1,str2)

返回值a d

charCodeAt

返回对应的unicode编码

	let str="abcde"
    let str1=str.charCodeAt(0)
    document.write(str1)
    let arr=[]
    for(let i=65;i<91;i++){
        arr.push(String.fromCharCode(i))
	//String.fromCharCode意为把字符串编码改为字符...??
    }
   document.write(arr)

在这里插入图片描述

indexOf

按照字符找位置
为-1就表示没有这个字符

	let str="Hello"
    document.write(str.indexOf("H"))
    //H 别忘加双引号
    document.write("<br>")
    document.write(str.indexOf("l"))
    //有重复的只能识别第一个
    输出结果为0  2

lastindexOf

大小写转换

全部转换为大写toUpperCase
全部转换为小写tolowerCase

	let str="Hello"
    document.write(str.toUpperCase())
    document.write("<br>")
    document.write(str.toLowerCase())

在这里插入图片描述

截取

substr(a,b)

从a开始,截取b个

substring(a,b)

从a开始到b结束,包前不包后

slice

和上边一样

(a,b)
(a)
(a,-b)

replace(a,b)替换

a是被替换的,b是想变成的
还可用正则表达式

split分割??

把有分隔符的(或有类似分隔符的)字符串替换为数组

	let str="Hello"
    
    console.log(str.split(""))

在这里插入图片描述

concat拼接

在这里插入图片描述

trim去掉首尾空格

trimstrat(left)去掉首部空格

trimend(right)去掉尾部空格

58案例 模糊查询

数组的filter 字符串的indexOf

    let arr=["aaa","abc","bc","ac"]
    let a=arr.filter(function(item){
        return item.indexOf("a")!==-1
        //也可换为return item.indexOf("a")>-1
        //都是可以查到这个字符的意思,也就是存在
    })
   document.write(a)

   document.write("<br>")

    let b=arr.filter(function(item){
        return item.indexOf("b")!==-1
    })
   document.write(b)

在这里插入图片描述

????

有点懵,但用着很6

    let arr=["aaa","abc","bc","ac"]
    let input=prompt("请输入要查询的")
    let a=arr.filter(function(item){
        return item.indexOf(input)!==-1
    })
   document.write(a)

在这里插入图片描述

59 json格式字符串

在这里插入图片描述

JSON.parse解码

把类似对象的字符串(json)转换为对象
json是后端给前端的

let str={"name":"lucy","age":18}
    //对象
    document.write(str)
    document.write("<br>")

    let str2='{"name":"lucy","age":18}'
    //字符串
    document.write(str2)
    let obj=JSON.parse(str2)
    document.write("<br>")
    document.write(obj)
    console.log(obj)

在这里插入图片描述

JSON.stringfy

把前端对象要转换成json给后端?
在这里插入图片描述
name也可不加引号

60模板字符串

用反引号`` 括起来的字符串可以换行
可以直接包裹<li></li>标签

61数字常用方法

保留小数位数toFixed

!!!!注意tofixed的返回类型是字符串,不能再与数字进行运算
可以先通过-0或、1或*1将其变为数字类型

    let a=12.345
    let b=a.toFixed(2)
    document.write(b)
    document.write("<br>")
    let c=a.toFixed(4)
    document.write(c)

在这里插入图片描述

Math对象!

Math.random

0-1的随机数

Math.round

四舍五入取整

Math.cell

向上取整
例如将4.46化为5

Math.floor

向下取整
将4.46化为4

Math.abs

    document.write(Math.abs(-12.34))
    document.write(Math.floor(-12.34))
    document.write(Math.round(-12.34))
 

在这里插入图片描述

Math.sqrt( )

Math.pow

Math.max


document.write(Math.max(1,4,9))

Math.PI

62 随机整数

为了概率同,所以选择向下取整(其他或向上取整也可不过包含与范围会改变)
在这里插入图片描述

函数


    function fn(min,max){
        return Math.floor(Math.random()*(max-min))+min
    }
    document.write(fn(100,200))
 

时间对象Date

在这里插入图片描述

其实是个对象,but自动转为了字符串

格式

	let time=new Date
    document.write(time)

在这里插入图片描述> (GMT+8:00意为格林秩国际标准时间+8小时,我们在东八区)

一个参数

就是毫秒数

在这里插入图片描述
从1970开始计时

2个参数

    let time=new Date(2023,0)
    document.write(time)
    document.write("<br>")
    let time2=new Date(2022,3)
    document.write(time2)

在这里插入图片描述

多个参

    let time=new Date(2023,0,9,19,54)
    document.write(time)

在这里插入图片描述

字符串

这个的一月就是一月

    let time=new Date("2023-1-9 19:56:02")
    document.write(time)

在这里插入图片描述

64时间对象常用方法

a.getFullYear( )

    let time=new Date()
    b=time.getFullYear()
    document.write(b)

结果为2023
    let time=new Date()
    document.write(time.getFullYear())

输出结果2023

a.getFullMonth()

取值0-11对应1-12月

a.getDate()

a.getDay()

周六为0,周一到周六为1-6

a.gethours()

a.getminutes()

a.getseconds()

a.getMilliseconds()

a.getTime()时间戳

存于后端

????在这里插入图片描述

a.setFullYear( )

a.setMonth( )

a.setDate( )

没有setday(周)

a.setHours()

    let a=new Date()
    a.setHours(13)
    document.write(a)

在这里插入图片描述

??????????
let a=new Date()
let b=a.setHours(13)
document.write(b)

a.setminutes()

a.setSeconds()

a.setMilliseconds()

65定时器

在这里插入图片描述

倒计时定时器setTimeout

setTimeout(funct(){ },时间)
只是注册

在这里插入图片描述

间隔定时器setInterval


每两秒执行一次
    setInterval(function(){
        document.write(new Date())
        document.write("<br>")
    },2000)

在这里插入图片描述

停止

clearTimeout

clearInterval

    <div>
        <button id="btn1">time1截止按钮</button>
    </div> 
    <script>
        
        let time1=setInterval(function(){
            console.log(new Date())
            console.log("<br>")
        },1000)
        console.log(btn1)
        btn1.onclick=function(){
            document.write("time1已清除")
            clearTimeout(time1)
        }     
    </script>
</body>


为什么不可以日期在文档里,只显示一下就没有了

在这里插入图片描述

距某天的倒计时

    <div id="box"></div>
    <script>
        let targetDate= new Date("2022/6/18")
        function difftime(current,target){
            let miao=Math.ceil((target-current)/1000);
            let day=parseInt(miao/(60*60*24));
            let hours=parseInt(miao%(60*60*24)/(60*60));
            let minutes=parseInt(miao%(60*60)/60);
            let seconds=miao%60;
            let obj={
                day:day,
                hours:hours,
                minutes:minutes,
                seconds:seconds
            }
            return obj
        }
        setInterval(function(){
            let currentDate=new Date()
            let time=difftime(currentDate,targetDate)
            document.write=(`距离**还有${time.day}${time.hours}${time.minutes}${time.seconds}`)
            document.write("<br>")
        },1000)
    </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值