zoukankan      html  css  js  c++  java
  • 前端知识点回顾——Javascript篇(二)

    JavaScript的解析顺序

    第一阶段:编译期

    • 寻找关键字声明的变量、函数声明的变量,同时会对变量进行作用域的绑定

    • var声明的变量,在编译期会赋一个默认值undefined,变量提升的特性。

    • ES6及以后所有的变量申明方式都不具备变量提升,在声明之前调用会报错,这个现象在语法上称为暂时性死区TDZ。

    • 如果一个变量同时被var声明又被function声明,则变量提升的值以函数为准(函数为一等公民)。但最后是以赋值的数值作为变量的最终值。

    console.log(a);  //函数a console.log(2)
    var a = 10;
    function a() {
        console.log(1);
    }
    function a(){
        console.log(2);
    }
    console.log(a);  //10
    
    • 函数的形参也会有变量声明的行为,在编译期最后,执行期最前。
    function fn(num) {
        //形参也会有一个变量声明的行为,在编译最后执行最前
        //根据实际情况我理解这个给形参赋予实参的数更像是var声明的变量提升后默认有undefined值一样
        //所以下面console输出了函数,函数为一等公民
        console.log(num);  //输出函数num
        var num = 3;
        function num(){}   //如果这里去掉则前面的console输出10
        console.log(num);  //3
    }
    fn(10);
    

    第二阶段:执行期

    数组和对象的深拷贝方法

    数组: arr.concat() 或 [...arr]

    对象: 若没有函数的话可以用JSON.stringify 和 JSON.parse转换,有函数就需要那种遍历的方法来拷贝。

    日期对象Date

    let date1 = new Date('2019/3/17 20:00:00');  //创建日期对象
    //getFullYear
    //getMonths 0-11
    //getDate 1-31
    //getDay 0-6
    //getHours
    //getMinutes
    //getSeconds
    //getTime
    console.log(date1.toLocaleDateString())  //以本地表示方法表示日期
    console.log(date1.toLocaleTimeString())  //以本地表示方法表示时间
    console.log(date1.toLocaleString());  //上面两个的结合
    
    console.log(date1.toDateString());  //标准方法表示日期
    console.log(date1.toTimeString());  //标准方法表示时间
    console.log(date1.toUTCString());  //标准方法表示的UTC时间
    
    let date = new Date();
    console.log(date.getTimezoneOffset());//-480  返回本地时间与UTC时间的分钟数差,UTC比东八区慢8小时
    

    Editted by: simple

    ——还在摸爬滚打中的前端小萌新
  • 相关阅读:
    性能测试的概念
    位运算和逻辑与运算
    09年~16年上午题题型分布
    复习建议
    软件评测师下午题笔记
    php 数据库 操作
    mysqli_query($conn, "set names utf8"); //**设置字符集*** 不设置插入数据库就是乱码
    iview admin template 基础模板架子
    iview-admin里面的 axios 给包装了一层数据 libs/axios.js 数据做了一层拦截
    mysql 如果没有密码 就不能远程连接
  • 原文地址:https://www.cnblogs.com/simpul/p/11020151.html
Copyright © 2011-2022 走看看