JavaScript基础03

目录

1、math方法

2、data对象

3、函数

4、函数参数

5、函数返回值

6、函数案例

7、不定长参数

8、函数作用域

9、预解析

10、对象

11、newObject创建对象

12、定时器


1、math方法

    <script>
        // abs  绝对值
        // var a = -5.58
        //console.log(Math.abs(a))  // 5.58

        // round 取整  四舍五入
        // console.log(Math.round(a))  // -6

        // ceil  向上
        // console.log(Math.ceil(a)) // -5
        // console.log(Math.ceil(-6.78)) // -6

        // floor  向下
        // console.log(Math.floor(a)) // -6

        // max 最大值    min 最小值
        // var obj1 = [1,6,5,3]
        // console.log(typeof obj1)
        // console.log(Math.max(1,6,5,3))
        // console.log(Math.min(1,6,5,3))

        // random
        // console.log(Math.random()*10)
    </script>

2、data对象

获取当前时间new Date()
getFullYear()
月(月份要加1才是北京时间)getMonth()
getDate()
分钟getMinutes()
getSeconds
时间戳Date.now()
    <script>
        //获取当前时间
        var data = new Date

        // 获取年 getFullYear
        var year = data.getFullYear()
        // 获取月 getMonth  月份要加1才是北京时间
        var mon = data.getMonth()+1
        // 获取日 getDate
        var date = data.getDate()
        // 获取小时 getHours
        var h = data.getHours()
        // 获取分钟 getMinutes
        var m = data.getMinutes()
        // 获取秒   getSeconds
        var s = data.getSeconds()
        console.log(date)
        // 获取时间戳  Date.now  格林威治时间(1970年1月1日00点)
        // 当前时间与格林威治时间相差的秒数
        var now = Date.now()
        console.log(now)
        //   当秒小于10,数字前面加个0  展示结果:01  02  03
        var day = data.getDay();
        if (s<10){
            sec = '0'+s
        }
        console.log(s)
    </script>

3、函数

var box = document.getElementsByTagName('div')[0]

function 自定义函数名(){  执行代码       }

box.onclick = func(); 函数调用可以在定义函数的上方或下方,调用可不加括号。

4、函数参数

1、如果是实参比形参多,那么就取前面的实参

function f1(x,y){
     console.log(x+y)
 }
 f1(1,2,3,4,5)  //输出3

2、如果实参的个数多于形参的个数,多余的形参会定义为undefined,最终的结果是NaN

function f2(x,y,z){
     console.log(x+y+z)
 }
 f2(2,5)          //输出NaN
var z
console.log(z)    //输出undefined

5、函数返回值

返回值,函数只是实现某种功能,最终的结果需要返回给函数的调用者,需要return返回
        function getResult(){
            return 666
        }
        var a = getResult()
        console.log(a)

6、函数案例

通过函数修改样式

    <input type="button" value="改变样式" id="btn">
    <div id="box">这是一个div</div>

    <script>
        var box = document.getElementById('box');
        var btn = document.getElementById('btn');

        function func(color_s,size_s){
            box.style.color = color_s;
            box.style.fontSize = size_s
        }

        btn.onclick = function (){
            func('red','30px')
        }
    </script>

7、不定长参数

        // arguments  里面存储了所有传递过来的实参  伪数组
        // es5写法:
        function sum(){   // arguments
            console.log(arguments.length)
            console.log(arguments.length[1])
        }
        sum(1,2,3,4,5,6,7)

8、函数作用域

全局作用域:定义在script标签中

局部作用域:定义在函数内部

  // 如果在函数内部没有声明,直接定义的变量也是全局变量
         var a = 20
         function demo(){
             a = 10
             return a
         }
        var box = demo();
        console.log(box);  //10
        console.log(a);    //10

// 函数形参是全局还是局部?
        var argu=10
        console.log(argu)
        function f2(argu){
            return argu
        }
        var a = f2(argu)
        console.log(a)

9、预解析

浏览器,js引擎   分为两步   预解析,执行代码
预解析,js引擎会把js里面所有的var,还有function提升到当前作用域最前面
执行代码 按照书写顺序从上往下
预解析分为 变量预解析(变量提升) 函数解析(函数提升)
变量提升,把所有的变量声明提升到当前作用域的最前面 不提升赋值操作
函数提升,把所有的函数声明放到作用域的最前面 不调用函数
        // 1、 not defind
        // console.log(num)

        // 2.  undefined
        // console.log(num)
        // var num = 10

        // 2.相当于
        // var num;
        // console.log(num);
        // num = 10;

        // 3.  12
        // fn()
        // function fn(){
        //     console.log(12)
        // }

        // 4、 not a function
        // func()
        // var func = function (){
        //     console.log(25)
        // }

        // 4相当于
        // var func;
        // func();
        // func = function (){
        //     console.log(25)
        // }

10、对象

<script>
    // 什么是对象  object,python的类   {}  创建类
    // 对象有什么东西?  属性,方法
    var obj = {
        // 属性
        name:"小奇",
        age:"18",
        addr:"长沙",
        // 方法
        Sayhi:function (){
            console.log("我是小奇,我sayhi")
        }
    }
//两种调用属性的方法:
    // 调用属性   对象.属性名
    console.log(obj.name)
    // 对象['属性名']
    console.log(obj['age'])
    // 调用方法  对象.方法名
    obj.Sayhi()
</script>

11、newObject创建对象

<script>
    var obj = new Object();
    obj = function (name,age){
        this.name = name;
        this.age = age;
        this.Sayhi = function (){
            console.log("hi")
        }
    }
    xiaoqi.name = "杨幂";
</script>

12、定时器

setTimeout(调用函数,[延迟毫秒数])
setTimeout()方法用于设置一个定时器,该定时器在定时器到期后执行调用函数。
setInterval(调用函数,[延迟毫秒数]):每隔这个延时时间,就去调用这个函数,重复调用
clearInterval/clearTimeout(定时器变量) 清除定时器
定义定时器的时候,一般要给一个名字,方便清空定时器

案例:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值